2017-02-19 3 views
0

следующий сценарий: У меня есть веб-служба, работающая на порту 81. Я хочу использовать apache (nginx тоже будет нормально) в качестве обратного прокси-сервера, работающего на порту 80 и перенаправляющего mail.domain.com к порту 81.Apache Reverse Proxy Cookies не работает

Это работает до сих пор .. но мой веб-сервис говорит мне, что я должен активировать файлы cookie. Без прокси он работает.

Я следил за множеством учебных пособий и т. Д., Но ни один из советов не работал до сих пор.

Это как мой VirtualHost выглядит:

<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

Зачем вам требуется куки? –

+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, которое изменить путь в куки, а не домен.

+0

ладно, я проверю его! – ITler94

+0

Ваша конфигурация перенаправляет меня на веб-сервер порта 80, но не 81 по мере необходимости. изменение имени сервера на mail.mydomain.com перенаправляет меня на порт 81. Теперь мой веб-сервис на порту 81 появляется, но сообщение cookie все еще появляется ... каким-либо образом можно как-то изменить cookie? возможно, отредактировав параметры файла cookie – ITler94

+0

Если вы хотите прослушивать порт 81, вы должны изменить VirtualHost на '*: 81' вместо того, чтобы указывать имя сервера для использования порта 81. Затем Apache проксирует запросы на mail.domain.com : 81. Но в вашем вопросе вы хотите, чтобы apache прослушивал порт 80, а затем прокси-сервер обратно на почтовый сервер на 81. Таким образом, созданный мной виртуальный хост делает это. –