【ELB/ALB/NLB】スティッキーセッションで認証問題を解決!【ロードバランサ】
野田竣介
フェルメール株式会社
今回は通信を受け流すだけのサーバーを構築する必要があったので書き残しておきたいと思います。
いわゆるリバースプロキシってやつですね。
nginxをインストールして設定ファイルを作成するだけなので非常に簡単です。
では早速、解説していきます!
今回はAmazon Linux 2を使用します。
nginxはどのOSでも簡単にインストールできるので問題ないと思います。
Amazon Linux 2の場合はこんな感じでインストールできます。
$ sudo amazon-linux-extras install nginx1
そしてnginxを起動します。
$ sudo systemctl start nginx
ここでサーバーにアクセスするとnginxのページが表示されるはずです。
$ sudo systemctl enable nginx
自動起動設定も入れておきます。
次はリバースプロキシを行うための設定ファイルを作成します。
nginxの設定ファイルは /etc/nginx/ に存在します。
その中の conf.d/ というディレクトリの中に設定ファイルを作成することで追加で設定が読み込まれます。
このディレクトリの中にファイルを作成しましょう!
$ sudo vi /etc/nginx/conf.d/reverse_proxy.conf
ファイルの中身は以下のように指定してください。
server {
listen 80;
location / {
proxy_pass https://www.google.com;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
最後にnginxを再起動すると設定が反映されます。
$ sudo systemctl restart nginx
もう一度アクセスするとproxy_passで設定したサーバーに転送されるようになっています!
結構使う場面が多いのでこの記事を見ればすぐに構築できるようにしてみました。
プライベートな環境へアクセスしたいとき、リクエスト元を固定したいとき、など使い方は様々ですね。
手軽に構築できるのでぜひ試してみてください!