CentOS 8
Sponsored Link

Apache httpd : mod_proxy_wstunnel の設定
2020/01/10
 
[mod_proxy_wstunnel] モジュールを設定して、バックエンドの WebSocket プロトコルを利用するアプリケーションをプロキシします。
[1]
[2]
[3] Apache httpd の設定です。
例として、ローカルホストのポート [1337] で起動しているサンプルアプリケーションを、ポート [443] で待ち受ける Apache httpd が [/chat] でプロキシする設定です。
# モジュールはデフォルトで有効になっている

[root@www ~]#
grep "wstunnel" /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
SSLProxyEngine on
<Proxy *>
    Require all granted
</Proxy>

ProxyPass /socket.io/ https://www.srv.world:1337/socket.io/
ProxyPassReverse /socket.io/ https://www.srv.world:1337/socket.io/

ProxyPass /chat https://www.srv.world:1337/
ProxyPassReverse /chat https://www.srv.world:1337/

[root@www ~]#
systemctl restart httpd

[4] SELinux を有効にしている場合は、ポリシーの変更が必要です。
下例で許可しているポートは、サンプルアプリケーションの起動ポートになります。
[root@www ~]#
setsebool -P httpd_can_network_connect on

[root@www ~]#
semanage port -a -t http_port_t -p tcp 1337

[5] 設定したサンプルアプリケーションのプロキシパスにアクセスして、アプリケーションが問題なく利用できれば OK です。
関連コンテンツ