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
</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@localhost ~]# systemctl restart httpd

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

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

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

01.png


添付ファイル: file01.png 147件 [詳細]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-09-03 (月) 09:59:04