real_ip_recursive on
proxy_redirect
http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_redirect
http://www2.matsue-ct.ac.jp/home/kanayama/text/nginx/node68.html
location / { proxy_pass http://unix:/var/run/varnish.sock; proxy_redirect default; } は proxy_pass http://unix:/var/run/varnish.sock; # do nothing proxy_redirect http://unix:/var/run/varnish.sock /;
proxy_redirect http:// https://;ポイントは proxy_redirect http:// https://; の行。後ろが頭のいい奴(例:Rails)だと、X-Forwarded-Proto を見てよしなにヘッダを吐いてくれるんだけど、X-Forwarded-Proto 見てくれない奴が裏側にいる場合には、これで Location ヘッダなんかを強制的に https:// に書き換える必要がある。
nginx でコンテキストパス未対応サービスをリバースプロキシさせてみた(proxy_redirect + sub_filter) - Qiita
nginx proxy_pass
https://coderwall.com/p/rlguog/nginx-as-proxy-for-amazon-s3-public-private-files
nginxの仕様としてproxy_passに名前を使っている場合、その名前解決はnginx起動時に行われる。そしてそのときに取得したIPはnginxにキャッシュされてnginxの再起動もしくはHUPを受け取るまで解放されない。
なのでELBのようにIPが変化するものをnginxの後段に置くときは注意する。
https://blog.1q77.com/2016/03/nginx-resolving-proxy-upstream/
Before version 1.1.9, tuning of caching time was not possible, and nginx always cached answers for the duration of 5 minutes.
http://nginx.org/en/docs/http/ngx_http_core_module.html#resolver