2017-02-19 198 views
0

以下情形: 我有一个web服务运行在端口81. 我想使用apache(nginx也行)作为反向代理,运行在80端口并重定向mail.domain.com到港81.Apache反向代理Cookie不起作用

这工作到目前为止..但我的web服务告诉我,我应该激活cookie。没有代理,它的工作。

我遵循了很多教程等,但没有提示工作到目前为止。

这是我的虚拟主机的外观:

<virtualHost *:80> 

    ProxyPassReverseCookiePath/http://mail.domain.com 

    ServerName mail.domain.com:81 
    ProxyPass/http://127.0.0.1:81 
    ProxyPassReverse/http://127.0.0.1:81 
    ProxyPassReverseCookiePath http://myPublicIp:81 http://mail.domain.com 
</VirtualHost> 

如果有人有nginx的这样一个简单的方法,也请告诉我。

非常感谢!

+0

为什么你需要cookies? –

+0

由于Axigen Mailserver使用它 – ITler94

回答

0

你可能需要做这样的事情:

<VirtualHost *:80> 
    ServerName mydomain.com 
    ProxyPass/http://mail.domain.com:81 
    ProxyPassReverse/http://mail.domain.com:81 
    ProxyPassReverseCookieDomain mydomain.com mail.domain.com 
</VirtualHost> 

在你的榜样,您使用的是CookiePath这是修改cookie中的路径,而不是域。

+0

好的,我会测试它! – ITler94

+0

你的配置将我重定向到80端口的webserver,但不是我想要的。 将ServerName更改为mail.mydomain.com会将我重定向到端口81. 现在我的端口81上的web服务出现了,但仍然显示cookie消息...以某种方式更改cookie的任何方式?可能通过编辑cookie参数 – ITler94

+0

如果你想在端口81上监听,你应该把VirtualHost改为“*:81”,而不是将服务器名称设置为使用端口81.然后Apache将代理请求到mail.domain.com :81。但是在你的问题中,你希望apache监听端口80,然后代理回到81上的邮件服务器。所以我创建的虚拟主机就是这样做的。 –