共计 732 个字符,预计需要花费 2 分钟才能阅读完成。
有些程序需要用到 websocket,比如 webssh 和 code-server 等,如果 nginx 需要反向代理到这些程序,那么需要加上相应的配置。
请求头设置 Upgrade 和 Connection 即可。
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 80;
server_name ssh.caoaman.cn;
location / {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_read_timeout 3600s;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:5032/;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
}
map 指令定义了一个变量,用于根据请求头中的 Upgrade 字段设置 Connection 字段的值。这段配置使用了一个Nginx map模块来将HTTP头中的"Upgrade"请求头映射到"Connection"请求头中的值。
其中,"default upgrade;"语句表示如果"Upgrade"请求头不为空,则将"Connection"请求头设置为"upgrade"。"'' close;"语句表示如果"Upgrade"请求头为空,则将"Connection"请求头设置为"close"。
提醒:本文发布于625天前,文中所关联的信息可能已发生改变,请知悉!
AD:【腾讯云服务器大降价】2核4G 222元/3年 1核2G 38元/年
正文完