Nginx 配置写法请教,根据路径转发到不同的服务器

2018-01-16 00:51:49 +08:00
 axisray

比如我访问 www.abc.com/aaa/,则转发到 http://aaa/

比如我访问 www.abc.com/bbb/,则转发到 http://bbb/

……

除了像这样一条一条写,还有啥别的办法吗?

        location /wechat_qyw/ {
            proxy_pass http://wechat_qyw/;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        }

        location /wechat_qyw/ {
            proxy_pass http://wechat_qyw/;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        }

        location /wechat_sd/ {
            proxy_pass http://wechat_sd/;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
10558 次点击
所在节点    NGINX
27 条回复
cxbig
2018-01-18 03:21:18 +08:00
@paranoiagu
你的意思是这个 proxy_pass 都是不同的内部 docker container ?
docker compose 有相关的内部网络配置的
paranoiagu
2018-01-18 08:25:03 +08:00
@cxbig 对,我一个个写死没问题的。改正则就不行了。
axisray
2018-01-20 23:27:54 +08:00
@paranoiagu 嗯,我也是 docker 环境,测试没问题,放到生产就炸了
axisray
2018-01-20 23:28:39 +08:00
@paranoiagu 15 楼那个错误对我来说是正常的,因为我环境里没那几个域名,瞎写的,解析不出来就对了
axisray
2018-01-21 14:10:56 +08:00
axisray
2018-01-21 14:19:08 +08:00
@paranoiagu
resolver 127.0.0.11;
看下面的回答,是 11 而不是 1
写死的话能解决,但是可能会有问题

建议还是写个脚本去解析 /etc/resolv.conf
https://stackoverflow.com/questions/35744650/docker-network-nginx-resolver#comment68472082_37656784
paranoiagu
2018-01-22 08:24:11 +08:00
@axisray 多谢,今天再试试看。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/423172

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX