2014-09-03 142 views
0

我想使用动态URL的Nginx的反向代理功能。Nginx动态反向代理问题

我的呼唤网址是:

http://test.com:8080/10.20.34.53/index.php 

URL的动态部分是IP地址。然后我想使用代理呼叫以下URL

http://10.20.34.53/index.php 

我该如何配置我的Nginx来做到这一点?

感谢,

回答

0

我认为你可以使用这样的事情:

location /(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/index.php { 
    // ... some stuff 
    proxy_pass http://$1/index.php; 
} 

警告:我没有测试正则表达式匹配的IP地址。

+0

正则表达式的工作原理;然而,即使我关闭proxy_redirect,Nginx也会重定向到提供的IP地址; 。我该如何解决这个重定向问题?你有什么主意吗? – 2014-09-07 01:01:36

+0

对不起,但也许我不明白你的问题。 我提出的解决方案是: - 对于每个http://test.com:8080/aaa.bbb.ccc.ddd/index.php,请参阅aaa.bbb.ccc.ddd部分 - 重定向到http: //aaa.bbb.ccc.ddd/index.php 这不是你所需要的吗? – 2014-09-07 07:12:06

+0

不,它应该在反向代理中工作。它不应该被重定向到另一个页面...因此,无论用户何时请求:test.com/aaa.bbb.ccc.ddd/index.php,nginx都应该使用aaa.bbb.ccc执行反向代理.ddd/index.php文件 – 2014-09-07 10:59:49