【Nginx】面试官问我Nginx如何配置WebSocket

本文详细解析了一段Nginx配置,涉及WebSocket支持和负载均衡设置。`map`指令用于处理升级连接的逻辑,`upstream`块定义了负载均衡服务器集群,并设置了连接保持。在`server`块中,配置了监听端口、HTTP版本、代理传递及头部设置,确保了WebSocket的正常工作并设置了超时时间。
摘要由CSDN通过智能技术生成

server ip1:port1;

server ip2:port2;

keepalive 1000;

}

server {

listen 20038;

location /{

proxy_http_version 1.1;

proxy_pass http://wsbackend;

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_set_header Upgrade $http_upgrade;

proxy_set_header Connection $connection_upgrade;

}

}

接下来,我们就分别分析上述配置的具体含义。

首先:

map $ht 《大厂前端面试题解析+Web核心总结学习笔记+企业项目实战源码+最新高清讲解视频》无偿开源 徽信搜索公众号【编程进阶路】 tp_upgrade $connection_upgrade {

default upgrade;

‘’ close;

}

表示的是:

  • 如果 $http_upgrade 不为 ‘’ (空),则 $connection_upgrade 为 upgrade 。

  • 如果 $http_upgrade 为 ‘’ (空),则 $connection_upgrade 为 close。

其次:

upstream wsbackend{

server ip1:port1;

server ip2:port2;

keepalive 1000;

}

表示的是 nginx负载均衡:

  • 两台服务器 (ip1:port1)和(ip2:port2) 。

  • keepalive 1000 表示的是每个nginx进程中上游服务器保持的空闲连接,当空闲连接过多时,会关闭最少使用的空闲连接.当然,这不是限制连接总数的,可以想象成空闲连接池的大小,设置的值应该是上游服务器能够承受的。

最后:

server {

listen 20038;

location /{

proxy_http_version 1.1;

proxy_pass http://wsbackend;

proxy_redirect off;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_read_timeout 3600s;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值