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 1
噫 如果是不同的目标域名就用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 1
你也可以每个 server 单独监听一个 ip
|
5
ss098 OP @lyf362345 目前确实是 listen 不同的服务器 IP 的,但是依然 proxy_pass 走的是 eth1 的 IP。
|
6
littlehz 2015-08-06 23:14:29 +08:00 1
指定出站IP应该是配置路由表吧。
|
7
Lullaby 2015-08-06 23:20:25 +08:00 1
多个server配server_name
|
9
rekey 2015-08-06 23:27:37 +08:00 1
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 1
|
11
BOYPT 2015-08-07 00:31:49 +08:00 3
@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 1
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
|