WindowsマシンでNginxを使ったリバースプロキシを設定してみた

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に詳しくあります。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください