うろ覚えながら、リバースプロキシについて調べた時にも調べたと思うが、リバースプロキシを使うにはApache の設定が必要だったはず。しかし、DeleGate を試用した時にはそういった設定をしていない。ということは、バックエンドサーバ側で特に設定を必要としないということだ。
ならば、フロントエンドサーバーをVPS で構築し、キャッシュサーバーやリバースプロキシサーバーとして動作させ、バックエンドサーバをレンタルサーバーにするということも可能なのではないだろうか。
スポンサードリンク
も しそうなら、リバースプロキシとして任意のサーバーを自在に振り分けることができ、キャッシュサーバーとしてアクセスを一手に引き受ければ、多くのアクセ スを快適に処理し、でもその実態はメンテナンスフリーのように利用できるレンタルサーバーがバックエンドサーバとして動作している、というようなこともで きるのかもしれない。もちろんレンタルサーバーへのアクセスは.htaccess でフロントエンドサーバ以外からのアクセスを拒否するよう設定する必要があるだろうが。
エミュレート設定
hosts を設定し、test.example.com に対するアクセスをDeleGate(192.168.1.17)に行うようにした。
これは、一般的なDNS情報を参照した際をエミュレートしている。
設定ファイル
次に、以下のようにMOUNTを記述した。
MOUNT="/* http://test.example.com/* nvhost=test.example.com,rserv=XXX.XXX.XXX.XXX"
実体は外部にあるレンタルサーバーであるが、現在多く提供されているレンタルサーバーでは、多くのドメインを同居させるために名前ベースのアクセスとなっている。従ってIPアドレスだけを指定してもアクセス出来ない。
これを回避するためにレンタルサーバーのIPアドレスと定義されている名前ベースのアドレスを指定してアクセスさせる。これによりヘッダ内にHost:が付加され、要求を受け取ったレンタルサーバーは正しく動作する。
実験の結果
実験の結果、192.168.1.17 との通信を行ったが、実際にはバックアップサーバとして利用したことをエミュレートしたレンタルサーバーが動作した。
もし、レンタルサーバーで.htaccess をDeleGate以外のアクセスを排除するように設定したなら、拡張性や自由度の高いVPSを運用しつつも、実際のシステムは管理運用が便利なレンタルサーバー上で実行されている。これはVPSのセキュリティーに問題があったとしても攻撃者からはDeleGateが唯一のサーバーとして見えるため、幾分安全かもしれない。
ただし、この運用を行うとすれば、DNSにはDeleGateを設定することになるため、レンタルサーバーでのチェックにおいてDNSレコードが自分のサーバーに向いていないと設定できないか、削除される可能性もある。
コメント