On Thu, 18 Jan 2007, Igor Sysoev wrote:
IS> > IS> Может быть, действительно сделать
IS> > IS>
IS> > IS> server {
IS> > IS> listen 80;
IS> > IS> listen 443 default ssl;
IS> > IS>
IS> > IS> ...
IS> > IS>
IS> > IS> location /some/ {
IS> > IS> if ($ssl = "") {
IS> > IS> ...
IS> > IS> }
IS> > IS> }
IS> > IS>
IS> > IS> ?
IS> > IS> Правда, я пока не вижу, есть ли здесь какие-нибудь подводные
камни.
IS> >
IS> > Выглядит красиво и логично. Некоторые проблемы с выбором (точнее, с
IS> > обоснованием выбора) имени SSL-ного хоста, но они есть и сейчас.
IS>
IS> Не понял, о каком выборе идёт речь ?
имени https хоста из server_name
server {
listen 80;
listen 443 default ssl;
server_name www.example.com *.example.com;
и сертификат для www.example.com или *.example.com.
Теперь у клиента возникнут проблемы - если, придя на nechto.example.com ему
покажут сертификат для "www.example.com"... Особенно строго с этим в IE7.
И директива типа https_server_name тут не поможет :-((
В общем, мне кажется это неверным и скользким путём - смешивать в описании
одного виртуального хоста http и https. Правильнее - разделять.
copy&paste, или include, или генерация конфига - IMHO, это не такая уж
большая плата за точность и ясность выражения ваших намерений в конфиге.
Окупится многократно - при отладке.