前提
glitchのwebsocket待ちアプリへnode-redの標準websocketでの接続で、即切断されました。
質問する為に状況をまとめていると切断の原因は、わかりました。
切断されていた理由は、
glitchのリバースプロキシ?処理でwebsocket接続のheaderの中に
User-AgentとAccept-Encodingがないとアプリに接続されることなく切断されることがわかりました。
User-Agent等の内容自体はチェックしていないようです。
もちろん、勝手に追加されますがHostなどは必要です。
実現したいこと
glitchへnode-redのwebsocketで接続の為、
node-redの標準websocketの接続のheaderに項目を追加する方法を教えてください。
現状、上記のUser-AgentとAccept-Encodingがありません。
これが該当のソースだと思うのですが、header追加機能はないように思われます。
また、node-redの既存のwebsocketノードにheader追加よりheader付のwebsocketノードのモジュールを作ったほうが便利になるでしょうか?
もっといい方法があればキーワードだけでも教えてください。
発生している問題・エラーメッセージ
試したこと
切断される原因追及の為に、いろいろ試したが、この質問に関しては、特にありません。
今、応急処置対応でfunctionノードでwsモジュールを使ってスクリプトで接続は、できているが使いかってが悪い。
追記 2022/11/24 試したこと1,2の方法を検討しました。
1,既存の標準WebScoketノードの関数を一部あとから書き換えれないか
かなり昔、関数のコールのログを取る処理で関数を横取りして元の関数を呼ぶ?のを見た記憶があったので
headerを追加できないか検討してみたが、そもそも関数が見えない。
よく考えるとセキュリティ的に出来たら問題だと思いあきらめる。
2,functionノードを改善
標準のWebsocketの全機能がない為、glitchと他サーバーでフローを変える面倒な点が残る。
補足情報(FW/ツールのバージョンなど)
glich(適当なWebsocket待ちアプリを動かす。)
node-red 3.0.2 (ローカルで動かしてます)
あなたの回答
tips
プレビュー