今日のゴールは、外から自宅にhttpsでWebsocket@Rachet@PHP@WindowsServerするサンプルを動かすことです。
※そのうち、Websocket@libwebsocket@Ubuntuをやりますね。
そもそもRatchetはポートを指定してws:// をうけつけてくれるものなので、
自宅サーバがそもそもNginxでリバースプロキシしてるので、
難しいことはせずに、それに則った形で設定を行います。
要するに、wss://をリバースプロキシで受けて、Ratchetが動作するサーバへ転送するだけです。
もちろん、プロキシにはUpgradeヘッダ(HTTP 1.1)への対応が必要となりますね。
絵にかくと、以下ですね。
自宅のhttpsはletsencryptというのを使用しています。
Windowsで使う場合には、以下が参考になりますね。
https://webbibouroku.com/Blog/Article/letsencrypt-setting
ここではHTTPSそのものの設定に関しては記述しませんです。
リバースプロキシしてるNginxのconfの該当部分は以下としました。 ※abcd.comは実際のドメインに。
wss://ws.abcd.com
が、
http:192.168.xxx.xxx:8080
に転送されることになるので、転送先にRatchetのやつを起動させておきます。
※そのうち、Websocket@libwebsocket@Ubuntuをやりますね。
そもそもRatchetはポートを指定してws:// をうけつけてくれるものなので、
自宅サーバがそもそもNginxでリバースプロキシしてるので、
難しいことはせずに、それに則った形で設定を行います。
要するに、wss://をリバースプロキシで受けて、Ratchetが動作するサーバへ転送するだけです。
もちろん、プロキシにはUpgradeヘッダ(HTTP 1.1)への対応が必要となりますね。
絵にかくと、以下ですね。
自宅のhttpsはletsencryptというのを使用しています。
Windowsで使う場合には、以下が参考になりますね。
https://webbibouroku.com/Blog/Article/letsencrypt-setting
ここではHTTPSそのものの設定に関しては記述しませんです。
リバースプロキシしてるNginxのconfの該当部分は以下としました。 ※abcd.comは実際のドメインに。
server {
listen 443;
include ssl-abcd.com.conf;
server_name ws.abcd.com;
proxy_set_header Host $http_host;
access_log /log/ssl-ws-abcd.com.log main;
location / {
proxy_pass http://192.168.xxx.xxx:8080;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_http_version 1.1;
}
}
これによって、javascriptから、wss://ws.abcd.com
が、
http:192.168.xxx.xxx:8080
に転送されることになるので、転送先にRatchetのやつを起動させておきます。
コメント
コメントを投稿