2017-11-30 8 views
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; 
    ''  ''; 
} 

何か

として実行する必要があるように思えます。

答えて

0

map $http_upgrade $connection_upgrade { 
    default upgrade; 
    ''  ''; 
} 

は確かに私がやりたいん設定。

関連する問題