実機で確認していないので設定そのものではないですが、回答します。
リダイレクトの応答もリバースプロキシで書き換える必要があります。初期状態ではproxy_redirect default;
が設定されているのと同じですから、proxy_pass
で設定したパラメータを使ってリダイレクト応答を書き換えてくれます。
ただし、図で後段のリバースプロキシを見ると、locationのURIとWordPressのURIパスとが一致していないです。これだとページ中のリンクなどが正しくならないのではないでしょうか。そこで、次のようにすればいいように思います。
location /static/docker1 {
proxy_pass http://docker1/static/docker1;
proxy_redirect default; # 初期設定
}
しかしこれでは、後段リバプロのアップストリームURLのホスト (docker1) とWordPressのURLのホスト (hoge.com) が一致しないためproxy_redirect default;
が効かないでしょう。次のいずれかが必要になります。
- WordPressで設定するURLのホストを、上記の後段リバプロの設定に合わせて
docker1
等に変える。
この場合、WordPressの返すページの中のリンク (リダイレクトではない) などにアプリの絶対URLがある場合、ホスト部がdocker1
になってします。
- WordPressで設定するURLのホスト部を
hoge.com
とする。リバプロのアップストリームURLのホスト部は、アプリサーバを区別できるもの (IPアドレスなど) にする。
この場合、ホストのリダイレクトURLを明示的に書き換えるためのproxy_redirectディレクティブの追加が必要かもしれません。
なお、前段リバプロについても、リダイレクトURLについて同様の配慮が必要でしょう。また、設定と動作確認はアプリサーバ→後段リバプロ→前段リバプロの順にやったほうがいいと思います。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/12/07 06:08
2016/12/07 07:32