Node-redのWebSocketをSSL化
背景
WordPress(http:)をSSL化したが、その中で使用しているWebSocket(ws:)が使用できなくなってしまった。
問題点
https:でWebSocketを使うためにはwss:にする必要がある。
wss:にする方法(サーバー側)
条件:さくらインターネットのスクリプトでNode-redをCentOS7にインストール後、Wordpressを手動でインストール、その後、letsencriptにてhttps化を行った。
Node-redのsettings.jsのありかを調べる
$ sudo pm2 show node-red
$ sudo less /root/.pm2/logs/node-red-out.log
settings.jsを書き換える
ここからはSuper user (root)に変更する。
$ su
# cd /root
# vi settings.js
先頭コメント’//’を削除
先頭のコメント削除。および、鍵のパスを指定する。
保存しスーパーユーザーを抜ける。
# exit
Node-redを再起動させる
$ sudo pm2 stop node-red
$ sudo pm2 start node-red
以上でサーバー側のNode-red (WebSoket)のSSL化が行えた。ただし、今後はNode-redにアクセスするときもhttps://xxxxxx:1880/のようにhttpsでしかアクセスできなくなる。
wss:にする方法(Java Script側)
ws://xxxxx:1880/ws/test -> wss:// xxxxx:1880/ws/test
wsからwssにすればよい。