溫馨提示×

nginx怎么配置websocker連接

小億
147
2024-01-11 20:12:12
欄目: 編程語言

要配置Nginx以支持WebSocket連接,需要進行以下步驟:

  1. 打開Nginx的配置文件(通常位于/etc/nginx/nginx.conf)。
  2. 在http部分添加以下配置:
map $http_upgrade $connection_upgrade {
    default upgrade;
    ''      close;
}

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://your_websocket_server;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}
  • 在map指令中,我們定義了一個變量$connection_upgrade,它的值依賴于請求頭中的Upgrade字段。如果Upgrade字段存在且不為空,則將值設為"upgrade";否則,設為"close"。
  • 在server塊中,我們監(jiān)聽80端口并指定服務器名。location塊用于處理所有請求,將其代理到你的WebSocket服務器。proxy_http_version指令將HTTP版本設置為1.1,proxy_set_header指令設置了Upgrade和Connection請求頭字段,以便支持WebSocket連接。
  1. http://your_websocket_server替換為實際的WebSocket服務器地址。
  2. 保存并關閉配置文件。
  3. 檢查配置文件是否有語法錯誤:nginx -t。
  4. 重啟Nginx服務:systemctl restart nginx(或者使用適合你的操作系統(tǒng)的命令)。

完成上述步驟后,Nginx將會正確代理WebSocket連接。確保你的WebSocket服務器正常運行,并且Nginx可以訪問到它。

0