我试图在nginx配置中为20K端口(范围[40k-60k])添加映射。 此配置已添加到nginx.conf
stream{
server {
listen 40000;
listen 40001;
.
.
.
listen 60000;
proxy_pass <backend-url>:$server_port;
}
}
当映射数量<1时,一切都很好用。 500.但是当它增加到20K映射时,响应的延迟是巨大的。添加端口转发的任何解决方法或任何其他方法?
答案 0 :(得分:2)
我尝试通过iptables
代替nginx
https://www.cyberciti.biz/faq/linux-port-redirection-with-iptables/
您可以通过插入规则轻松重定向传入流量 nat表的PREROUTING链。您可以使用设置目标端口 REDIRECT目标
即
iptables -t nat -A PREROUTING -p tcp --dport 1:65535 -j REDIRECT --to-ports 10000
并在nginx
相关讨论:https://superuser.com/questions/440324/iptables-how-to-forward-all-external-ports-to-one-local-port
答案 1 :(得分:0)
自Nginx 1.15.10起,您可以在listen指令上指定端口范围。
Port ranges (1.15.10) are specified with the first and last port separated by a hyphen:
listen 127.0.0.1:12345-12399;
listen 12345-12399;
更多信息:http://nginx.org/en/docs/stream/ngx_stream_core_module.html#listen