Rhy*_*hys 6 networking proxy nginx
我已经阅读了有关 NGINX 的 UDP/TCP 反向代理的文档,但我有点困惑。NGINX 是否需要同时在代理服务器和代理将转发的服务器上?
我的配置将是我的 nginx udp 代理服务器,它有两个 ips (5.0.0.0, 6.0.0.0),我想将这些代理轮换到 153.0.0.0。端口将为 2555。
我对配置感到困惑。
listen 指令定义服务器侦听的 IP 地址和/或端口。
这是否意味着它也将代理的服务器的 IP (153.0.0.0) 或内部 IP?
包括 proxy_pass 指令以定义代理服务器或服务器转发流量的上游组
我不确定这意味着什么
指定 proxy_bind 指令和必要网络接口的 IP 地址:
这是内部IP,还是它也将绑定的外部IP?(5.0.0.0)
可能一个简单的配置将有助于向我解释。我找到了一些例子,但我不确定哪个是本地、外部、代理服务器,或者它代理 IP 的服务器,因此它没有帮助。
NGINX 是否需要同时位于代理服务器和代理将转发到的服务器上?
这通常不是必需的。
我对 [ listen指令感到困惑。]
如上所述,listen指令定义了“服务器侦听的 IP 地址和/或端口”。“侦听”是指监视传入连接。“服务器”是托管 Nginx 的计算机,因此它指的是接收代理连接(然后该计算机将传递)的计算机的 IP 和/或端口。
前任。在端口 8080 上侦听 IP 127.0.0.1
listen 127.0.0.1:8080;
Run Code Online (Sandbox Code Playgroud)
前任。侦听端口 53 (DNS) 上的所有 udp 流量
listen 53 udp;
Run Code Online (Sandbox Code Playgroud)
我不确定这意味着什么:包括 proxy_pass 指令来定义代理服务器或服务器转发流量的上游组。
所述proxy_pass指令定义了计算机(一个或多个),以其中的Nginx代理“通过”数据(服务器实际给定的请求作出响应)。这可以是 URL、IP 地址或组名。
前任。URL(代理数据传递到example.com完成请求)
proxy_pass http://example.com;
Run Code Online (Sandbox Code Playgroud)
前任。IP(代理数据传递到IP 127.0.0.1完成请求)
proxy_pass http://127.0.0.1;
Run Code Online (Sandbox Code Playgroud)
前任。组(代理数据传递给定义组的成员以完成请求)
upstream dns_servers {
server 192.168.136.130:53;
server 192.168.136.131:53;
}
#...
proxy_pass dns_servers;
Run Code Online (Sandbox Code Playgroud)
请注意,上面的组可以包含 URL,例如 backend1.example.com:53;
.
指定 proxy_bind 指令和必要网络接口的 IP 地址- 这是它将绑定到的内部 IP 还是外部 IP?
该proxy_bind指令“使得与代理服务器传出连接从指定的起源本地IP地址与可选的端口”。因此,在大多数情况下,它将是本地的(尽管可以按照链接中的详细说明绑定到远程 IP)。此选项可能仅在您有多个网络接口或需要选择特定源 IP 地址时才真正有用,因为连接需要特定 IP 才能正常运行。
可能一个简单的配置将有助于向我解释 [事物]。
这可能适合也可能不适合您的情况,但一个非常简单的 tcp/http 示例可能如下所示:
server {
listen 2555;
#...
location /app1/ {
proxy_bind 5.0.0.0;
proxy_pass http://153.0.0.0:2555;
}
location /app2/ {
proxy_bind 6.0.0.0;
proxy_pass http://153.0.0.0:2555;
}
#...
}
Run Code Online (Sandbox Code Playgroud)
作为UDP 代理的一个简单示例:
stream {
server {
listen 2555 udp;
proxy_pass receiving_servers;
proxy_responses: 0;
proxy_bind 5.0.0.0;
#...
}
upstream receiving_servers {
server 153.0.0.0:2555;
}
#...
}
Run Code Online (Sandbox Code Playgroud)
我的配置将是我的 nginx udp 代理服务器,它有两个 ips (5.0.0.0, 6.0.0.0),我想将这些代理轮换到 153.0.0.0。
如果我没记错的话,如果你想真正轮换 IP,你可能需要一个负载均衡器(可能是另一个带有 Nginx 的服务器)在你的代理前面(我不确定这是否可以完全在内部完成)。