SSL
-
- Posts: 24
- Joined: Tue Feb 26, 2013 6:10 pm
SSL
При включении SSL, сертификат устанавливается на nginx и открывается порт 443
Но как сделать, чтобы сертификат был только на apache? А nginx только пропускал через себя 443 порт ?
Иными словами, как сделать что бы nginx принимал 443 порт, обрабатывал правила и перенаправлял на apache? Что бы сертификаты стояли только со стороны бэкенда (апаче)
Это мне нужно, если я использую несколько фронтэндов и один бэкенд.
Спасибо.
Но как сделать, чтобы сертификат был только на apache? А nginx только пропускал через себя 443 порт ?
Иными словами, как сделать что бы nginx принимал 443 порт, обрабатывал правила и перенаправлял на apache? Что бы сертификаты стояли только со стороны бэкенда (апаче)
Это мне нужно, если я использую несколько фронтэндов и один бэкенд.
Спасибо.
Re: SSL
читайте подробнее о технологии ssl.toplevelhost wrote:При включении SSL, сертификат устанавливается на nginx и открывается порт 443
Но как сделать, чтобы сертификат был только на apache? А nginx только пропускал через себя 443 порт ?
Иными словами, как сделать что бы nginx принимал 443 порт, обрабатывал правила и перенаправлял на apache? Что бы сертификаты стояли только со стороны бэкенда (апаче)
Это мне нужно, если я использую несколько фронтэндов и один бэкенд.
Спасибо.
SSL реализуется поверх любого другого протокола транспортного уровня, таких как HTTP, FTP, SMTP, NNTP и XMPP.
Сначала устанавливается зашифрованное соединение между клиентом и серером,а затем уже идет диалог HTTP, FTP ...
Т.е. смысла нет устанавливать ssl между nginx и apache, и вто же время пускать незашифрованный трафик клиенту.
И да, еще. Как обстоят дела у весты по поводу ssl сертиффикатов, два разных сертификата ведь не смогут работать на одном сервере? или использовать разные порты? тогда теряем 443 порт как для ссл. Как в этом случае разруливает веста?, на генту вики есть статьи по объоду ограничений, но тогда теряется сама суть ssl.
Re: SSL
ограничения колличества ssl сертификатов существуют для apache с установленным модулем mod_ssl - 1 сервификат на один физический IP, обходится установкой модуля gnu_tlsXakRu wrote:читайте подробнее о технологии ssl.toplevelhost wrote:При включении SSL, сертификат устанавливается на nginx и открывается порт 443
Но как сделать, чтобы сертификат был только на apache? А nginx только пропускал через себя 443 порт ?
Иными словами, как сделать что бы nginx принимал 443 порт, обрабатывал правила и перенаправлял на apache? Что бы сертификаты стояли только со стороны бэкенда (апаче)
Это мне нужно, если я использую несколько фронтэндов и один бэкенд.
Спасибо.
SSL реализуется поверх любого другого протокола транспортного уровня, таких как HTTP, FTP, SMTP, NNTP и XMPP.
Сначала устанавливается зашифрованное соединение между клиентом и серером,а затем уже идет диалог HTTP, FTP ...
Т.е. смысла нет устанавливать ssl между nginx и apache, и вто же время пускать незашифрованный трафик клиенту.
И да, еще. Как обстоят дела у весты по поводу ssl сертиффикатов, два разных сертификата ведь не смогут работать на одном сервере? или использовать разные порты? тогда теряем 443 порт как для ссл. Как в этом случае разруливает веста?, на генту вики есть статьи по объоду ограничений, но тогда теряется сама суть ssl.
nginx изначально использует tls ограничений нет.
Re: SSL
Вы наверное не совсем в теме. Я же писал что ssl устанавливается до того как сервер получит заголовок HOSTNAME
Так же прилагаю выдержку с оф. докeментации nginx
Так же прилагаю выдержку с оф. докeментации nginx
Code: Select all
Выбор HTTPS-сервера по имени
Типичная проблема возникает при настройке двух и более серверов HTTPS, слушающих на одном и том же IP-адресе:
server {
listen 443 ssl;
server_name www.example.com;
ssl_certificate www.example.com.crt;
...
}
server {
listen 443 ssl;
server_name www.example.org;
ssl_certificate www.example.org.crt;
...
}
В такой конфигурации браузер получит сертификат сервера по умолчанию, т.е. www.example.com, независимо от запрашиваемого имени сервера. Это связано с поведением протокола SSL. SSL-соединение устанавливается до того, как браузер посылает HTTP-запрос, и nginx не знает имени запрашиваемого сервера. Следовательно, он лишь может предложить сертификат сервера по умолчанию.
Наиболее старым и надёжным способом решения этой проблемы является назначение каждому HTTPS-серверу своего IP-адреса:
server {
listen 192.168.1.1:443 ssl;
server_name www.example.com;
ssl_certificate www.example.com.crt;
...
}
server {
listen 192.168.1.2:443 ssl;
server_name www.example.org;
ssl_certificate www.example.org.crt;
...
}