我正在设计一个应用程序,它将使用WebSocket在发生更改时快速通知访问者.我打算用Nginx代理连接,因此它们可以与常规HTTP部分共享相同的地址.我关注的一件事是短暂的港口耗尽.在过去,当Nginx和Node后端之间的连接数超过25000时,我注意到了问题.我的问题是,以下配置是否会将限制增加到100K?
upstream backends {
server 127.0.0.1:5000;
server 127.0.0.2:5000;
server 127.0.0.3:5000;
server 127.0.0.4:5000;
}
当然,需要相应地提高打开文件的限制.
假设该技术有效,它可以与外部服务器一起使用吗?为界面分配一系列IP地址有多难?网络不是我的强项……
最佳答案
请尝试proxy_bind.它
原文链接:https://www.f2er.com/nginx/434427.htmlMakes outgoing connections to a proxied server originate from the
specified local IP address. Parameter value can contain variables
(1.3.12).
因此,如果我们的Nginx代理服务器可以有多个IP地址,则可以解决您的问题.例如
location / {
...
proxy_bind $picked_ip;
proxy_pass http://backends;
}
变量$picked_ip可以通过在proxy_pass之前运行的重写处理程序来计算.