
1 chinabrowser 2015-08-06 22:39:56 +08:00 via Android upstream |
2 chinabrowser 2015-08-06 22:40:41 +08:00 via Android 噫 如果是不同的目标域名就用iptables替换源IP |
3 ss098 OP @chinabrowser 现在的情况是所有的 proxy_pass 向外请求的流量都走的 eth1 的 IP,如果用 iptables 会不会导致走 eth2(iptables 指定的出站 ip)而不是分别一个 ip。 |
4 lyf362345 2015-08-06 22:51:39 +08:00 你也可以每个 server 单独监听一个 ip |
5 ss098 OP @lyf362345 目前确实是 listen 不同的服务器 IP 的,但是依然 proxy_pass 走的是 eth1 的 IP。 |
6 littlehz 2015-08-06 23:14:29 +08:00 指定出站IP应该是配置路由表吧。 |
7 Lullaby 2015-08-06 23:20:25 +08:00 多个server配server_name |
9 rekey 2015-08-06 23:27:37 +08:00 upstream go { server 127.0.0.1:8080; server 192.168.1.1:8080; } server { server_name go.com; listen 80; location / { proxy_pass http://go; proxy_set_header Host $host; proxy_set_header User-Agent $http_user_agent; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } 类似以上? |
10 fox0001 2015-08-07 00:19:43 +08:00 via Android |
11 BOYPT 2015-08-07 00:31:49 +08:00 @fox0001 这个文章是解决多IP服务器识别受访IP,楼主问的是从本机出口的IP。 其实这个问题和nginx无关,任意程序对外访问都走默认路由那一个IP。 所以楼主需要添加第二个路由表第二个路由表的默认路由走eth0,然后使用ip rule 添加策略路由,让访问特定IP 的规则走第二个路由表。 参考文献: http://www.tldp.org/HOWTO/Adv-Routing-HOWTO/lartc.rpdb.simple.html |
12 ryd994 2015-08-07 00:37:45 +08:00 via Android Let me read the doc 4 u http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_bind |
15 lyf362345 2015-08-07 10:23:00 +08:00 又学到新东西了, 感谢11, 12楼. |
16 chinabrowser 2015-08-07 16:32:03 +08:00 via Android @ss098 iptables to source |