nginxでのプロキシ
nginxに来たアクセスをインターナルなELBにフォワードしてappサーバ群に振り分けてもらいます。
インターネット | nginx | ELB | appサーバ群
nginxのプロキシ先にELBを指定している場合このような問題がおきますので、参考記事のように設定しておきます。
http { ... resolver 127.0.0.1 valid=10s; ... server { location / { proxy_pass http://staging-elb-1.example.internal$request_uri; } } }
staging-elb-1.example.internalのIPが変更された場合、ngxinの再起動なしで変更後のほうにプロキシするようになりました。
なおupstream
内にホスト名を書いた場合は上記resolver
を書いてもnginx起動時にしか名前解決をしないようです。
なのでupstreamを使うのは今のところ見合わせています。(でもupstreamでkeepaliveを使いたいところでもあります)