Nginx

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配下でオートスケールしたサービスには正しくアクセスできるか

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

nginx実践入門
nginxを現場で活用するための知識を、実践的なノウハウを交えて解説した書籍です。
nginxのインストール方法や基本的な設定方法からはじめ、nginxを利用した「静的コンテンツ配信サーバ」「HTTPSサーバ」「Webアプリケーションサーバ」「大規模コンテンツ配信システム」の構築方法をそれぞれ詳しく紹介しています。後半ではnginxサーバのモニタリングやログの収集、そして軽量スクリプト言語Luaでnginxを拡張する方法について解説しているので、nginxをこれから使う方はもちろん、さらに活用したい方にもお勧めです。
  • この記事を書いた人

シロー

Webシステムの開発のお仕事をさせて頂いております。 フリーランスの日常、Web開発に関する情報を発信しています。 趣味はゲーム、映画鑑賞、個人サービスを作ることです。

-Nginx
-,

© 2021 Shiro's secret base