0
Webソケットプロキシのためのnginxのドキュメントで混乱しています。ここではドキュメントからnginxを使ったWebSocketプロキシー
:https://nginx.org/en/docs/http/websocket.html
プロキシサーバーへのリクエストで「接続」 ヘッダフィールドの値が「アップグレード」フィールドの 存在に依存するより洗練された例クライアントのリクエストヘッダに:
http { map $http_upgrade $connection_upgrade { default upgrade; '' close; } server { ... location /chat/ { proxy_pass http://backend; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; } }
私はUpgradeヘッダがある場合は、接続してアップグレードを渡したいという点で類似した何かをしたいですプリセット、それ以外の場合はproxy_set_header Connection ""
と同等の処理を行います。
アップグレードヘッダがない場合は、ドキュメントの例でproxy_set_header Connection close
が実行されていると思いますか?もしそうなら、どうすればいいのかをmap
に修正してください。私はそれについて右に感じることはありませんproxy_set_header Connection ""
map $http_upgrade $connection_upgrade {
default upgrade;
'' '';
}
何か
として実行する必要があるように思えます。