質問: リバースプロキシについて勉強しています。こちらのサイトを読んでいます。 http://www.atmarkit.co.jp/ait/articles/1608/25/news034.html 読んでいる中で、何個か質問があるのでもしご存知の方がいらしたら教えてください。 ・なぜWEBサーバーはキャッシュ・圧縮ロジックを持たないのか? →WEBサーバーがキャッシュ・圧縮ロジックを持てば、リバースプロキシがキャッシュ・圧縮ロジックを持つ必要がないと思いました ・リバースプロキシが異なるアプリケーションやフレームワーク・プラットフォームを統合する、とありますが、なぜその役割をサーバーができないのでしょうか? ・DMZに設置したリバースプロキシを経由しているため、(重要なデータを扱っている)Webサーバ/アプリは直接インターネットに接する必要がない とありますが、これはWebサーバ/アプリ側からしたら何がメリットなのでしょうか?(もしくはプロジェクトでメリットがある?) ・リバースプロキシ上でWebアプリケーションファイアウォールなどのセキュリティ対策をすれば、Webサーバ/アプリに直接手を加えることなく安全性を高められる とありますが、なぜリバースプロキシを使わないでサーバー側にセキュリティ対策をしないのでしょうか? ・クライアントとリバースプロキシの間はHTTPSで暗号化されていますが、リバースプロキシとWEBサーバー・アプリの間は暗号化されておらず、なぜそれでセキュリティ型もたっれているのでしょうか?(クライアントとリバースプロキシの間だけHTTPSで暗号化すればいい理由) よろしくお願いいたします!
回答: > > ・なぜWEBサーバーはキャッシュ・圧縮ロジックを持たないのか? > > ・リバースプロキシが異なるアプリケーションやフレームワーク・プラットフォームを統合する > > > このあたりは、やりたければWebサーバで行っても構いません。ただし、「1つのサーバに機能性をもたせすぎると煩雑になる」「異なるフレームワークを1つのWebサーバで安定動作させるのは難しい」というようなこともあるので、人的・資金的などリソースが整えば分けてやったほうがさばきやすいとは思います。 > > なぜリバースプロキシを使わないでサーバー側にセキュリティ対策をしないのでしょうか? > > > セキュリティ対策は、**何重にも行えます**。Webサーバで防御するのは当然として、さらにリバースプロキシを介して切り離すことで、Webサーバが直接攻撃されるリスクを減らすことができます。 > > ・クライアントとリバースプロキシの間はHTTPSで暗号化されていますが、リバースプロキシとWEBサーバー・アプリの間は暗号化されておらず、なぜそれでセキュリティ型もたっれているのでしょうか? > > > リバースプロキシ~Webサーバ間の接続はインターネットに出ないローカルなので、外界から見たセキュリティとしての問題はありません(そこの通信を見られる≒サーバに侵入している、ということになります)。