それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

nginx の proxy_redirectでlocationヘッダを書き換える

nginx の proxy_redirectを知りました。

Locationを書き換えることができます。

シンタックス

proxy_redirect from to 

実例

proxy_redirect http://localhost:800 https://$server_name

効果

nginx のリバプロ先からLocation・Refreshが返されたとき、その転送先のアドレスを書き換える。

殆どの場合は、リダイレクトはnginxが書き換えてくれるが、websocketやポート番号が異なると書き換えてくれないので、sub_filterや proxy_redirectを使って書き換える必要がある。

正規表現も使える。基本的に proxy pass reverse 的な動きをする。ただし、いつもの通りコンテンツ(Body)は書き換えの対象外。

コンテンツ内部を書き換えるなら、別の方法(sub_filter, body_filter_by_lua_block)を取る。