CentOS 7
Sponsored Link

Nginx : リバースプロキシの設定#22015/08/18

 
Nginx での WebSocket を通すリバースプロキシの設定です。
[1] 例として、バックエンドのポート 1337 で起動しているサンプルアプリケーションを、ポート 80 で待ち受ける Nginx が /chat でプロキシする設定です。 サンプルアプリケーションはこちらの [3] の簡易チャットを利用します。
[root@www ~]#
vi /etc/nginx/nginx.conf
# server セクション内を以下のように変更

    server {
        listen      80 default_server;
        listen      [::]:80 default_server;
        server_name www.srv.world;

        location /socket.io/ {
            proxy_pass http://node01.srv.world:1337/socket.io/;
            proxy_http_version 1.1;
            proxy_set_header   Upgrade $http_upgrade;
            proxy_set_header   Connection "upgrade";
        }

        location /chat {
            proxy_pass         http://node01.srv.world:1337/;
            proxy_http_version 1.1;
            proxy_set_header   Upgrade $http_upgrade;
            proxy_set_header   Connection "upgrade";
        }

        location / {
            proxy_pass http://node01.srv.world/;
        }
    }

[root@www ~]#
systemctl restart nginx

[2] SELinux を有効にしている場合は、アプリケーション起動ポートへのアクセス許可が必要です。
[root@www ~]#
semanage port -a -t http_port_t -p tcp 1337

[3] 設定をした /chat へアクセスして、アプリケーションが問題なく利用できるか確認してください。
関連コンテンツ