DPW

S3ホスティングサイトにNginx proxyかます際の注意点

S3で静的サイトをホスティングしている方は多いかと思います。
が、それに対して、NginxのProxyを間にかましている方は少ないかと思います。

今回、その設定でつまったので備忘録として残したいと思います。
こんな感じで、特定のlocationをS3にProxyすることを想定します。

・ブラウザ上のURL http://example.com/s3bucket/index.html
・実際のURL http://s3bucket-name.example.com/index.html

※s3-bucket-name.example.comは、S3ホスティング設定したドメイン 当初、nginx.confを以下のようにしていました。

一応想定通りの挙動になりますが、これではダメなのです。

Nginxは起動時に名前解決して、あとはHUPシグナルを受けるまでIPアドレスは変わらないため、S3バケットのIPアドレスが変わった場合に追従できなくなります。

Nginxを再起動せずに、定期的に名前解決するように設定すればいいのですが、それにはresolverとsetを使います。

こんな感じで。

これで一件落着です。

※参考記事
http://d.hatena.ne.jp/hirose31/20131112/1384251646
ありがとうございました