nginx+exchange
Igor Muratov
migor at altlinux.org
Thu Jul 9 02:59:14 MSD 2009
Народ, у кого-нибудь есть успешный опыт проксирования Exchange через
nginx? Есть задача прикрыть почтовый сервер ексчейндж, который стоит в
локальной сети, с помощью nginx. С протоколами POP3/IMAP/SMTP вроде
разобрался, а вот OWA через https ну никак не хочет работать. Аутлук
спрашивает логин/пароль, висит и потом отваливается. В логах получаю
10.16.18.16 - - [08/Jul/2009:17:41:07 -0500] "-" 400 0 "-" "-"
Настраивал вот по этому документу: http://planetit.ws/pdf/article-22.pdf
Пробовал еще просто браузером пройти. Там же веб-морда имеется. Бейсик
авторизация запрашивается дважды. Первая непонятно откуда берется
поскольку в конфиге ничего я не прописывал. Что бы ни вводил - не
пропускает. Тогда просто жму отмену и попадаю на вторую авторизацию. Вот
она уже пропускает на веб-морду эксчейнджа если правильно ввести логин и
пароль.
Забавно, но этот эффект зависит от браузера. Он проявляется в IE и FF но
отсутствует в Опере.
Посмотрите пожалуйста, может у кого есть какие-то идеи на этот счет
http {
server {
listen 443;
server_name nginx.example.org
# Redirect from / to /exchange by default
rewrite ^/$ https://nginx.example.org/exchange
permanent;
# Enable SSL
ssl on;
ssl_certificate /etc/nginx/ssl/nginx.example.org.pem;
ssl_certificate_key /etc/nginx/ssl/nginx.example.org.pem;
# ssl_client_certificate /etc/nginx/ssl/example_CA.pem;
# ssl_verify_client on;
ssl_session_timeout 5m;
# Set global proxy settings
proxy_read_timeout 360;
proxy_pass_header Date;
proxy_set_header Server internal.exchange.name;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location /exchange {
proxy_pass https://192.168.1.201/exchange;
}
location /exchweb {
proxy_pass https://192.168.1.201/exchweb;
}
location /public {
proxy_pass https://192.168.1.201/public;
}
location /Microsoft-Server-ActiveSync {
proxy_pass https://192.168.1.201/Microsoft-Server-ActiveSync;
}
error_log /var/log/nginx/exchange-error.log;
access_log /var/log/nginx/exchange-access.log;
}
}
Спасибо за любые подсказки.
More information about the nginx-ru
mailing list