nginx(エンジン エックス)はApacheと同じようなWebサーバのアプリケーションで、すでに世界中で使われています。
今回、このアプリケーションを使用してリバースプロキシをテストしてみたので、それをメモ書きしておきます。
Windows版はdownloadから nginx/Windows-1.19.1 といった命名規則のものをクリックしてダウンロードします。ダウンロードしたファイルはC:\などにそのまま展開してしまえばOKです。
Nginxの起動は、下記プログラムを実行すれば大丈夫です。
C:\nginx-1.19.1\nginx.exe
リバースプロキシとしての設定は、メモ帳で conf\nginx.conf を開き、下記赤字のものを記載すれば動作しました。
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location /reverse-proxy {
rewrite /reverse-proxy/(.*) /$1 break;
proxy_pass http://192.168.0.31;
proxy_redirect default;
proxy_cookie_path /site/Web/ /reverse-proxy/site/Web/;
}
}
}
個人的にはまったのはproxy_cookie_pathの設定で、Webアプリケーションでクッキーを書き込んでいるんですが、その時のアドレスとリバプロ経由のアドレスが違うため、設定したクッキーが読み込めずにログインできなくなりました。
ブラウザ[F12]キーで開発者ツールを起動させ、リクエスト・レスポンスヘッダなどを眺めていたらパスが違うことに気づき、書き換えて無事に処理完了。
書き方は公式サイトのモジュールproxy_cookie_pathに詳しくあります。