Nginxでオブジェクトストレージにリバースプロキシする際の「proxy_set_header」に関する注意点

去年末にさくらインターネットから ConoHa に乗り換えたわけですが。

乗り換えた大きな理由は、オブジェクトストレージを新規契約しようと思ったらさくらインターネットが盛大にトラブっていたから。

また、オブジェクトストレージは ConoHa の方が通信時に費用が掛からずお得だったため。

オブジェクトストレージだけ ConoHa にしても良かったのですが、支払いが別々になるのが嫌なのと VPS のスペックアップを検討していたためこの機会に VPS も乗り換えてしまおうと思ったわけです。

まぁそんなこんなで乗り換えてオブジェクトストレージも契約したのですが・・・

Nginx からリバースプロキシを使ってのアクセスができない。

外部公開の設定はしたし、オブジェクトへの URL に直アクセスして表示されることも確認しました。

しかし、リバースプロキシを使うとなぜかアクセスできない。

色々調べていたところ下記ページを発見。
⇒ MastodonでConoHaさんのオブジェクトストレージを使う設定

そして気になる下記一文が・・・

Production-guideのものを流用したらproxy_set_headerあたりが余計っぽくてストレージ側のnginxが404になったので削りました。

なにやら proxy_set_header に問題がありそう。

そこで、「nginx.conf」に設定していた proxy_set_header 類をすべてコメントアウト。

Nginx を再起動して試してみたところアクセスができました。

そこで、一つ一つコメントを外して試した結果

proxy_set_header Host $host;

を設定しているとアクセスできないことが判明。

色々調べ”$host”を”$proxy_host”に変更したところ無事アクセスできるようになりました。

proxy_set_header Host $proxy_host;
# もしくはリバース先のドメインを直指定
proxy_set_header Host object-storage.tyo1.conoha.io;

これにて問題は無事解決。

コメントを残す