nginx reverse proxy + wordpressのハマりどころ

nginx reverse proxy + wordpressのハマりどころ

2021年2月9日
ネット、計算機のお伴

wordpressをリバースプロキシのバックエンドで動かす際に、ポート番号別受けはおすすめできない。

たとえば、次のようなケース:

・nginx revers proxy でhttps://domainnameでサーバ公開

・proxy_pass で、https://10.0.0.111:8080(例えば)として、wordpress稼働のhttpサーバに向ける

・結果、port番号が認識できずに、redirectループがおこったりする。

これを回避するために、nginx側のヘッダに

proxy_set header Host $http_host;

などとしてポート番号も渡すということでうまくいくことがあるが、なにせ相手は戦艦WORDPRESSである。これでうまくいくかは、使っているテーマやプラグインに依存する。実際elementorなどはまともに動かないし、Luxeritasもそれでは動作が変になる。

それよりは、受け側のhttpdにポート80のvirtual host設定をつくって、server_name(apacheもnginxもこの変数名)で処理するのが、悩まなくていい。

更に、port振り分けは扱うドメインが増えればhttpd側、FW側の設定が複雑になりますしね。

以上、悩んでいる人はvirtual hostで対応するのをがおすすめ、という話でした。