要在Nginx中配置WebSocket支持,需要在Nginx的配置文件中添加以下配置:
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
upstream websocket {
server localhost:8080;
}
server {
listen 80;
location / {
proxy_pass http://websocket;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
}
在這個配置中,首先定義了一個map變量$connection_upgrade,用于判斷是否升級協(xié)議。然后用upstream定義了一個代理服務(wù)器websocket,指向WebSocket服務(wù)器的地址和端口。最后在server塊中配置了一個location,將所有的請求轉(zhuǎn)發(fā)到WebSocket服務(wù)器,并設(shè)置了升級協(xié)議的頭部信息。
sudo nginx -s reload
現(xiàn)在Nginx應(yīng)該已經(jīng)配置好WebSocket支持,可以通過WebSocket客戶端連接到Nginx服務(wù)器進(jìn)行通信了。