Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
nginx+exchange
 
 
Народ, у кого-нибудь есть успешный опыт проксирования 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;
   }
}
Спасибо за любые подсказки.
 
 |