Nginx 反向代理路径问题求助

Nginx 反向代理路径问题求助,第1张

这个主要是要做一个反向代理,具体配置如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

#upstream的配置

upstream server_A {

server 192.168.0.55:8080

}

upstream server_B {

192.168.0.206:8080

}

#主机192.168.0.219的配置

server {

listen 80 default_server

server_name XX.com

#server中的其它配置

#...

#如下值反向代理配置

if ($request_uri ~* "^/+$") {

proxy_pass http://server_A

break

}

#其他的反向代理配置,通过uri的正则进行匹配

# if ($request_uri ~* "regex") {

#proxy_pass http://server_B

#break

#}

}

#对应的server_A,server_B的机器的配置需要增加相应的路由规则。

#在server_A机器上增加路由规则。

location / {

rewrite "^/+bingo-szwf-sso" /path/of/php break

#...其他配置。

}

当访问 http://127.0.0.1/proxy/test/test.txt 时,nginx匹配到/proxy路径,把请求转发给192.168.137.181:8080服务,实际请求路径为

http://10.0.0.1:8080/test/test.txt ,nginx会去掉匹配的“/proxy”。

当访问 http://127.0.0.1/proxy/test/test.txt 时,nginx匹配到/proxy路径,把请求转发给 192.168.137.181:8080 服务,实际请求代理服务器的路径为

http://192.168.137.181:8080/proxy/test/test.txt , 此时nginx会把匹配的“/proxy”也代理给代理服务器。

当访问 http://127.0.0.1/proxy/test/test.txt 时,nginx匹配到/proxy路径,把请求转发给192.168.137.181:8080服务,实际请求代理服务器的路径为

http://10.0.0.1:8080/static01/test/test.txt 。

实际上2、3是一种情况,即加了“/”就会去掉匹配前缀。这就引出了下一个问题。

我们使用nginx的很多时候都需要去掉前缀。前缀只是为了让nginx用来区分转发到哪个服务器,不是实际URL的一部分。例如我们需要代理访问 http://10.0.0.1:8080/test/test.txt ,如果不去掉前缀,nginx代理访问的就是 http://192.168.137.181:8080/proxy/test/test.txt ,那么这时候就需要改变代理服务器原来写好的url,这是不合理的。

一个种方案是上面提到的proxy_pass后面加根路径“/”。另一种方案是使用正则重写url。例如:

这里的

就是路径重写,其中:

如已经安装好了nginx相关的环境,现仅展示相关的反向代理的配置。默认nginx.confi的配置,可能与下面的图会有不同,重要的是后面的配置。

已经安装好了nginx相关的环境,现仅展示相关的反向代理的配置。默认nginx.confi的配置,可能与下面的图会有不同,重要的是后面的配置。

-----注意查找nginx的默认配置文件,nginx.conf文件

修改设置代理

在nginx.conf配置中添加下图相关的配置,以线圈中的,其中的路径要以实际的配置文件路径为主

查看上面的配置中有引用/usr/local/u-mail/config/nginx/reverse-proxy.conf 配置文件.

检查测试配置

配置完后,使用nginx –t的命令测试一下,配置是否正确.是否有提示相关的错误.这个服务的路径要以具体的为主.

如配置有问题,按相关的提示进行更改.对比上面的配置信息进行查看.然后再重启下nginx的服务,使其加载刚刚的配置.

7

测试效果

再访问测试下相关的站点是否正常.是否会跳转到对应网站

8

除了nginx映射之外

我们还可以通过使用设置域名解析URL跳转来做(只有部分域名解析服务商才提供此项服务)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11598115.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存