首页 > 编程知识 正文

tcp数据转发服务器,nginx同一域名不同应用

时间:2023-05-06 05:14:14 阅读:115914 作者:4351

在开发过程中经常遇到这种需求,需要基于网关设备进行负载平衡

内联网中的某台服务器提供外联网访问服务

80端口流量分类

TCP端口转发

需求1、2统称为TCP业务转发,nginx本机支持TCP业务转发。

例如,我的a服务(192.168.1.100 )是网关设备,具有公共网络接入能力的b(192.168.1.101 )、C(192.168.1.102 ) 想通过a服务器向b、c服务转发请求。 具体结构为stream{

服务器{

listen 0.0.0.0:10190 udp;

proxy_responses 0;

proxy_timeout 2s;

proxy_pass proxy_b;

}

服务器{

listen 0.0.0.0:10191 udp;

proxy_responses 0;

proxy_timeout 2s;

proxy_pass proxy_c;

}

upstream proxy_b{

server 192.168.1.101:10290;

}

upstream proxy_c{

服务器192.168.1.102336010290;

}

}

必须在Xin的顶级模块中重新配置此配置。 通过上述配置,可以将a服务器10190传输到b服务器10290,将a服务器10191传输到c服务器10290。

HTTP流量转发

虽然上面是纯TCP传输,但如果要进行HTTP卸载,例如,要将所有不同的请求传输到a上的80个端口,然后区分流量,则只能在nginx上的HTTP模块中进行配置。 具体构成如下。 http

{

.

upstream socket_proxy {

hash $ remote _ addr一致性;

serverdomain-b.com :8020 weight=5max _ fails=3fail _ time out=30s;

}

服务器{

listen 80

服务器_ name domain-a.com;

位置/{

proxy_pass http://socket_proxy;

}

}

.

}

上述经验对开发很有帮助。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。