3

我是 NGINX 反向代理解决方案的新手,似乎很难理解所有术语。我正在寻找如下解决方案。我真的很感谢任何人的帮助来配置相同的。

我们有一个内部 Web 服务器,我们想在 WWW 站点上发布它,但不希望客户看到内部服务器 URL。例如:

客户访问 www.mycompany.com/track --> NGINX 读取轨道,然后将 URL 重定向到内部 server.com.au/tracker 。我们不希望客户看到这个地址。

有什么建议吗?

干杯,

4

2 回答 2

2

It is much better in this case to use the proxy. Rewrites are meant for URLs within the same domain or to redirect the client (which would show in the url). Try this:

location / {
    proxy_pass http://internal.example.com/;
    proxy_set_header Host $host;
}
于 2013-07-15T06:52:28.560 回答
0

在 nginx 上的重写与在 Apache 上的重写是完全一样的 :) 语法各不相同。当 Apache 使用 RewriteRule 时,nginx 使用 rewrite。我可以建议您参考http://wiki.nginx.org/HttpRewriteModule吗?检查 2.4 和 2.5 以获取特定于重写的文档。您将找到有关重写语法和重写选项的信息。

如果您只需要基本语法,上面有一个简单的示例:

rewrite  ^(/download/.*)/media/(.*)\..*$  $1/mp3/$2.mp3  break;

顺便说一句,如果你想从例子开始工作,你可以使用这个工具将你的 Apache .htaccess 文件转换成一个 nginx 配置:http ://winginx.com/htaccess

于 2013-07-14T02:45:42.607 回答