CentOS 7
Sponsored Link

Apache httpd : mod_proxy_wstunnel を利用する2015/08/16

 
mod_proxy_wstunnel モジュールを有効にして、バックエンドの WebSocket プロトコルを利用するアプリケーションをプロキシします。
[1] 例として、ローカルホストのポート 1337 で起動しているサンプルアプリケーションを、ポート 80 で待ち受ける httpd が /chat でプロキシする設定です。 サンプルアプリケーションはこちらの [3] の簡易チャットを利用します。
[root@www ~]#
vi /etc/httpd/conf.modules.d/00-proxy.conf
# 最終行に追記

LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
[root@www ~]#
vi /etc/httpd/conf.d/wstunnel.conf
# 新規作成

ProxyRequests Off
<Proxy *>
    Require all granted
</Proxy>

ProxyPass /socket.io/ http://127.0.0.1:1337/socket.io/
ProxyPassReverse /socket.io/ http://127.0.0.1:1337/socket.io/

ProxyPass /chat http://127.0.0.1:1337/
ProxyPassReverse /chat http://127.0.0.1:1337/

[root@www ~]#
systemctl restart httpd

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

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