Nginx:proxy_passを使ってURLはそのままで違うサイトを表示する

リバースプロキシについて

Nginxのproxy_passディレクティブを使えば

サイトのURLはそのままで違うURLのサイトを表示することができます

  • 画像のファイルパスはS3(AWS)から取ってきたい
  • 顧客が作成したドメインで自社のサービスを提供したい

といったケースにおすすめです

このようにブラウザとWebサーバとの間に入ってURLの転送を行う仕組みリバースプロキシと言います

URLはそのままで別のサーバに転送する

以下の通り、test-1.comにアクセスしたらsample-site.comに転送してURLはそのままでページを表示します

sample-site.comの画面(例の猫さん

Nginxの設定

“proxy_pass http://sample-site.com;”の箇所がリバースプロキシの設定です

locationディレクティブでルート以下のURLのすべてに対して sample-site.comに転送するようになってます

test-1.comにアクセス

ブラウザのアドレスバーのところに注目

test-1.comで先程のsample-site.comのページが表示されてるのを確認できました

懸念事項

  • HTTPS通信をするとどうなるか
  • AWSのELB配下でオートスケールしたサービスには正しくアクセスできるか

ココらへんは別途調査必要だけど一旦ここまで

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です