第三章
〜補足コンテンツ〜目次 | リバースプロキシー |
リバースプロキシー
リバースプロキシーは何に使うのか?
複数のWEBサーバーを公開したい時、1つ目はPort80を使うことができますが、
それ以降は、Port80以外を割り振ることになります。
外部のアクセスを受ける為に、割り当てた全てのPortを解放しなければなりません。
これは、手間ですし、セキュリティ的にも難があります。
WEBサーバー(ローカルIP:Port) | DDNS(グローバルIP) | 外部からのアクセス |
---|---|---|
192.168.0.5:80 | aaa.co.jp | http://aaa.co.jp/ |
192.168.0.5:10080 | aaa.co.jp | http://aaa.co.jp:10080/ |
上記のように、Port80以外を使用した場合、アクセスするとき、URLに
ポート番号を含まなければなりません。
リバースプロキシーではこれを以下のようにします
WEBサーバー(ローカルIP:Port) | Delegate(ローカルIP:Port) | DDNS(グローバルIP) | 外部からのアクセス |
---|---|---|---|
192.168.0.5:10081 | 192.168.0.7:80 | aaa.co.jp | http://aaa.co.jp/first/ |
192.168.0.6:10080 | 192.168.0.7:80 | aaa.co.jp | http://aaa.co.jp/second/ |
つまり、DelegateServerがURLを見て、
サーバーに割り振っていると考えてもらっていいと思います。
リバースプロキシを行うと
- Portの解放は、Delegateに割り振られたPortだけでよくなる。
- 外部アクセスは必ず、Delegateを通るので、アクセス管理や、セキュリティ管理も一つで済む
それでは設定していきます。
delegate.exeのあるフォルダに、
reverse.cfgというファイルを作成します。(手順は基本設定をお読みください)
以下のように記述します。
上記の設定の意味は下記の通りです。
-P80 | 説明済み:今回は、WEBサーバーとして使うので80を指定 |
SERVER= | 説明済み:今回はWEBサーバーなので、httpを設定 |
MOUNT= | URLの振り分け作業、ルールの設定
一つ目は、 http://グローバルIP/first/⇒http://192.168.0.5:10081/ というルールを設定します。 MOUNT="/* http://192.168.0.5:10081/test/*" と記述すれば、 http://グローバルIP/⇒http://192.168.0.5:10081/test/ というルールになります。 |
REACHABLE= | 指定したホスト上のサーバーの要求に対し、Delegateで受け付けます。 今回は、192.168.0.5と192.168.0.6に対し、受け付けるので二つを記述 |
RELIABLE= | アクセスできるホストを指定する。今回の設定では、 全てのホストを許可しています |
REMITTABLE= | 指定したプロトコルのみ、Delegateが処理します。 |
HTTPCONF="add-qhead:" | ヘッダー情報に情報を加えます。
今回は、アクセスしてきたホストのIPを加えています。 これがないと、 LAN内のWEBサーバーがアクセスは全てDelegateからのアクセス となり、LAN内のWEBサーバーが正確なログがとれません。 |
LOGFILE= | ログファイルの設定:
今回は、普通のログは使用しない設定にしています |
PROTOLOG= | 上記の代わりにログをとります。httpdサーバーと互換を持たせています
日付でローテーションします。 |
ADMIN= | 説明済み |
あとは、サービスに登録するだけです。