Nginx:proxy_bind v/s proxy_pass

l2osamch  于 2023-04-20  发布在  Nginx
关注(0)|答案(1)|浏览(403)

如果这是一个愚蠢的问题,我提前道歉,但作为Nginx的新手,我在服务器上下文中遇到了2个指令:
代理绑定

proxy_pass.
我知道如果我需要从客户端向不同的浏览器发送不同的请求,我将需要定义proxy_pass指令,定义域名和端口。
但是为什么需要proxy_bind呢?欢迎提供任何帮助。
提前感谢:)

rur96b6h

rur96b6h1#

在Nginx中,proxy_bind指令用于指定Nginx在向后端服务器发出代理请求时应该绑定的本地IP地址和/或端口。这在Nginx服务器上有多个网络接口或IP地址的情况下很有用,并且您希望指定哪个应该用于出站连接。
例如,假设你有一个Nginx服务器,它有两个网络接口:eth0和eth 1。您希望Nginx在使用proxy_pass指令向后端服务器发出请求时使用分配给eth 1的IP地址。在这种情况下,您将使用proxy_bind指令指定eth 1的IP地址。
下面是一个示例配置片段:

server {
  listen 80;
  server_name example.com;

  location / {
    proxy_pass http://backend_server;
    proxy_bind 192.168.1.2;
  }
}

在这个例子中,Nginx将192.168.1.2在向proxy_pass指令中定义的backend_server发出请求时绑定到传出连接上的IP地址www.example.com。
总之,proxy_bind指令用于指定Nginx在使用proxy_pass指令向后端服务器发出请求时应该使用的本地IP地址和/或端口。当您在Nginx服务器上有多个网络接口或IP地址时,它特别有用。

相关问题