下午好先生们,
我现在的设置是一个单一的站点,让我们调用http://production.com,它是由80端口上的Nginx作为静态缓存提供的,而Apache则是在8080本地主机上后台提供的,没有什么特别的东西,而且工作得很好。
我现在要做的是让URL包含来自外部http://production.com/foobar的数据,我们称之为http://internal.com/。
我遇到的问题是,如果我浏览到http://internal.com/,我会自动重定向到http://www.internal.com/forum/forum.php,因为这是一个vBulletin论坛,它有自己的内部重定向,而且不是基于站点URL变量。当然,如果我试图通过Nginx代理它,也会发生同样的事情,我只会被“转发”到./forum/forum.php URL。
那么,我该怎么解决这个问题?有没有办法让这个重定向变得看不见,而不让Nginx在地址栏中跟踪它呢?基本上是不使用实际的iframe的iframe。:-)
这是我现在正在尝试的Nginx代码片段:
location /foobar {
proxy_pass http://internal.com/;
proxy_redirect off;
proxy_set_header Host $host;
}想法?提前谢谢。
发布于 2013-03-13 13:00:05
我发现在这种情况下,你基本上有两个不同的选择。
ngx.lua模块,正如Andrei所指出的那样,并在您将返回的任何HTTP响应上更改代理,这当然是一场噩梦。在我们的例子中,我们选择了数字2,基本上把它们放在同一个领域,并对论坛做了一些修改。
https://serverfault.com/questions/486951
复制相似问题