2017-02-19 248 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上的郵件服務器。所以我創建的虛擬主機就是這樣做的。 –