2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Apacheを介してWebSocketを試した備忘録

Last updated at Posted at 2023-02-26

はじめに

「シェルスクリプトマガジンVol81」のWebSocketの記事を読んで試してみたので備忘録。
サーバ、クライアントのソースは同誌をベースにさせていただいたので割愛。

環境

RedHat EnterpriseLinux 8.7
Python 3.8

プログラムおよび環境設定

サーバ側

サンプルソースでは使用しているasyncio.run()はPython3.7以降の機能であるため、Python3.8を使用することにした。

# su 
# pip3.8 install websockets
# exit
$ cd ~/webchat_server
$ ./server.py

クライアント側

まずは、サーバプログラムの動作確認のため、ポート開放してブラウザでの確認を行った。

ポート未開放の場合

# su 
# firewall-cmd --add-port=ポート番号/tcp
# exit

プログラムは以下の通り
/www/html/webchat

  1. index.html
  2. client.js

Apacheを介してSSLで通信するように修正

1. Apacheの設定を変更して再起動。
wstunnelを有効にして/chatへのアクセスをWebSocketサーバに向ける。

http.conf
-#LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
+LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
extra/httpd-ssl.conf
+ProxyPass /chat ws://localhost:ポート番号/
+ProxyPassReverse /chat ws://localhost:ポート番号/
# systemctl restart httpd

2. client.jsのURLを変更

client.js
-let socket=new WebSocket("ws://192.168.1.106:8765/");
+let socket=new WebSocket("wss://192.168.1.106/chat/");

3. 単体で動作させたときと同様にWebからアクセスする
https://192.168.1.106/chat/

参考

「シェルスクリプトマガジンVol81」

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?