は、このことができます:NGLS over TLS経由でWebSocketを中継することは可能ですか?
ノードJSサーバ
JVMソケットサーバー
TLSを超える作業をWebSocketのトラフィックを処理するのnginxのWebSocketクライアントとして
を演技?
は、このことができます:NGLS over TLS経由でWebSocketを中継することは可能ですか?
ノードJSサーバ
JVMソケットサーバー
TLSを超える作業をWebSocketのトラフィックを処理するのnginxのWebSocketクライアントとして
を演技?
私はこのセットアップには、2つの方法を想像することができ、確かに:
に2つ目のTLSを追加しますアプローチは、NginxとWebsocketの間の接続を確保するので、より多くの利点があります(2つの異なるコンテナ/マシンでホストしたいと想像してください)
Imag第二のアプローチのための
Nodejs Socket Client <--Secure--> Nginx <--NOT Secure--> JVM
と、このような何か:最初のアプローチのために、このような図INE
Nodejs Socket Client <--Secure--> Nginx <--Secure--> JVM
私はどのようにセットアップ最初のアプローチをすることができます示して、ここで公開リポジトリを作成しました:サーバー側でhttps://github.com/afshinm/websocket_tls_docker
セットアップTLS
2番目のアプローチを採用したい場合は、フレームワークによって異なります。あなたは文書を読む必要があります。しかし、Nginxはトラフィックを復号化して暗号化できるので、この場合にはproxy_pass
の値をhttps://...
のプレフィックスに変更するだけで、Nginxは最初にトラフィックを復号化することがわかります。
server
設定に以下の設定を追加します。
ssl on;
ssl_certificate /path/ssl-bundle.crt;
ssl_certificate_key /path/myserver.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
をAND(あなたの設定に応じて)あなたのserver
やlocation
ブロックにこれらを追加することを忘れないでください:今
proxy_pass http://your_jvm_backend_host;
proxy_http_version 1.1;
proxy_set_header Connection "upgrade";
proxy_set_header Upgrade $http_upgrade;
proxy_read_timeout 86400;
、あなたの顧客へのnginxのからあなたの接続は、(wss://...
)安全です。
セットアップクライアント
あなたがws
パッケージを使用している、あなたはこのような安全なのWebSocketコネクションに接続できると仮定すると:それだ
const WebSocket = require('ws');
const ws = new WebSocket('wss://your_backend');
ws.on('open', function open() {
ws.send('Hola!');
});
。
質問を正しく理解していることを確認するために、JVMサーバーはWebsocket接続を確立します。 –
https://www.nginx.com/blog/websocket-nginx/ – tkausl