CentOS7

Apache httpd : mod_proxy_wstunnel を利用する

 	

mod_proxy_wstunnel モジュールを有効にして、バックエンドの WebSocket プロトコルを利用するアプリケーションをプロキシします。

例として、ローカルホストのポート 1337 で起動しているサンプルアプリケーションを、ポート 80 で待ち受ける httpd が /chat でプロキシする設定です。サンプルアプリケーションはこちらのの簡易チャットを利用します。

[root@localhost ~]# vi /etc/httpd/conf.modules.d/00-proxy.conf
# 最終行に追記
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
[root@localhost ~]# vi /etc/httpd/conf.d/wstunnel.conf
# 新規作成

|ProxyRequests Off

Proxy *>

   Require all granted &br; 

/Proxy>

&br; 

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

&br; 

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

[root@localhost ~]# systemctl restart httpd

SELinux を有効にしている場合は、アプリケーション起動ポートへのアクセス許可が必要です。

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

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

01.png


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS