Re: проксирование на https
Maxim Dounin
mdounin на mdounin.ru
Чт Июн 16 14:01:51 UTC 2016
Hello!
On Thu, Jun 16, 2016 at 06:49:42PM +0500, Илья Шипицин wrote:
> Привет!
>
> есть сервер на win2012r2, он настроен с поддержкой SNI.
> он может принять соединение на https://computer.domain, но категорически
> отказывается принимать соединения на https://ip-адрес
> <https://xn--ip--8cdug0fj>
>
> я убился уже, не могу заставить при проксировании передавать имя. оно
> ресолвится и в результате
>
> 2016/06/16 18:44:22 [error] 55328#0: *703668639 peer closed connection in
> SSL handshake (54: Connection reset by peer) while SSL handshaking to
> upstream, client: 46.17.201.71, server: XXX, request: "GET
> /adfs/portal/updatepassword HTTP/2.0", upstream: "
> https://X.X.X.X:443/adfs/portal/updatepassword", host: "XXX"
>
>
> можно как-то сделать, чтобы апстрим не ресолвился?
Если нужно, чтобы при соединении к бекенду nginx использовал
Server Name Indication, aka SNI - надо включить
proxy_ssl_server_name. Имя берётся из proxy_pass, если нужно
нестандартное - можно задать с помощью диреткивы proxy_ssl_name.
Соответственно если нужно, чтобы nginx всегда шёл к заданному
ip-адресу, но при этом указывал имя "computer.domain", есть два
варианта:
- Определить upstream computer.domain с нужным IP-адресом, как-то
так:
upstream computer.domain {
server 10.0.0.2:443;
}
proxy_pass https://computer.domain;
proxy_ssl_server_name on;
- Написать IP-адрес явно в proxy_pass, и переопределить имя где
надо:
proxy_pass https://10.0.0.2;
proxy_ssl_server_name on;
proxy_ssl_name computer.domain;
proxy_set_header Host computer.domain;
--
Maxim Dounin
http://nginx.org/
Подробная информация о списке рассылки nginx-ru