質問: Apacheの設定ファイルの中身に関してなのですが、 ProxyPassとProxyPassReverseに関しての理解が出来ず、質問させて頂きました。 別サーバとの連携の際に以下3行を追記しました。(便宜上番号を振ってあります。) ➀ ProxyPass /wordpress ! ➁ ProxyPass / http://svIP/ ➂ ProxyPassReverse / http://svIP:ポート番号/ の三行はどういう設定を意味しているのでしょうか? 検索したところ 構文:ProxyPass [path] !|url !:(!以前)を除く。 /:階層の意味。 とあったので ➀ /wordpress を含むURL以外にアクセスした場合。 ➁ / http:へのアクセスをプロキシが許可するとsvIPにアクセスする。 ➂ ➀➁が出来なかった場合、http:にアクセス→それが許可されると/svIP:ポート番号/にアクセスする。 のかと思ったのですが、この理解で良いのでしょうか。 上の認識で良いのか? それとも間違いがあって➀➁➂の行がどういう指示を出しているのか? ご教示頂けると助かります。
回答: > > ➀ ProxyPass /wordpress ! > > > パス「/wordpress」はプロキシしない。ローカルのコンテンツを表示する。 > > ➁ ProxyPass / http://svIP/ > > > (パス「/wordpress」以外は)「http://svIP/」に(リバース)プロキシする。 > > ➂ ProxyPassReverse / http://svIP:ポート番号/ > > > プロキシ先からの応答がリダイレクトで、Location, Content-Location, URI ヘッダに「http://svIP:ポート番号/」がある場合、「/」に(逆)変換する。 通常は➁と➂は対になると思います。 例えば、http://svIP/ の応答がリダイレクトで、「Location: http://svIP/foo/」だった場合、`ProxyPassReverse / http://svIP/` と設定しておくと、Location ヘッダを「http://svIP/foo/」→「/foo/」と(逆)変換し、さらにクライアントからの最初のリクエストのスキーマとホスト部を補完して、「Location: http://(ホスト部)/foo/」(または「Location: https://(ホスト部)/foo/」)としてクライアントに返します。