Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: nginx+exchange
Igor Muratov пишет:
Igor Sysoev пишет:
On Thu, Jul 09, 2009 at 12:19:09PM +0400, Andrew Kopeyko wrote:
On Thu, 9 Jul 2009, Igor Sysoev wrote:
Возможно, вместо
proxy_set_header Server internal.exchange.name;
proxy_set_header Host $host;
нужно
proxy_set_header Host internal.exchange.name;
Это бы точно сработало, если бы мы ходили к бэкенду по http, а не по
https как в этом случае.
В этом же случае - всё зависит от поддержки TLS-расширения "Server
Name Indication" (RFC-4366) на обоих концах.
Насколько я знаю, IIS (поддерживающий OWA) не понимает SNI.
SNI, скорее всего, не понимает. Но кто его знает, как он там устроен -
может, ему ещё и имя нужно. SNI - это больше для клиента важно, какой
ему
сертификат покажут.
Игорь, скажи - посылает ли ngx_http_proxy_module как клиент
расширение SNI при обращении к SSL-enabled бэкенду?
Сейчас - нет.
Игорь, спасибо за правки. Заголовки Server и Host оба выставил в
локальное имя ексчейнджа. Добавил info для errorlog и вот чего туда
пишется
2009/07/09 10:56:08 [info] 17850#0: *1 peer closed connection in SSL
handshake while SSL handshaking, client: X.X.X.X, server:
nginx.example.org
2009/07/09 10:56:08 [info] 17850#0: *2 peer closed connection in SSL
handshake while SSL handshaking, client: X.X.X.X, server:
nginx.example.org
Ну и tcpdump подтверждает что на ексчейндж обращения даже не делаются.
Все заканчивается на диалоге клиента с nginx. Чем-то клиента не
устраивает SSL. Ну да, сертификат подписан собственным CA, но если
ексчейндж открыть в инет и поставить там аналогичный сертификат, то
клиент это съедает не сопротивляясь. Т.е. я предполагаю что проблема
не в сертификате как таковом.
PS. Честно говоря, вообще не понимаю в чем проблема :-)
Прошу прощения. Ввел в заблуждение.
Оказывается на клиенте была включена взаимноя авторизация SSL. Отключил
это и вроде что-то пошло. По крайней мере в логах теперь вот это:
2009/07/09 12:08:51 [info] 20467#0: *7 client sent invalid method while
SSL handshaking, client: X.X.X.X, server: nginx.example.org, request:
"RPC_IN_DATA /rpc/rpcproxy.dll?nginx.example.org:6002 HTTP/1.1"
2009/07/09 12:08:51 [info] 20467#0: *8 client sent invalid method while
SSL handshaking, client: X.X.X.X, server: nginx.example.org, request:
"RPC_OUT_DATA /rpc/rpcproxy.dll?nginx.example.org:6002 HTTP/1.1"
Скорее всего ексчейндж не переваривает вот это внешнее имя и его нужно
будет просто поправить средствами rewrite на правильное.
Сегодня попробую и отпишу результат.
|