я например делал один сертификат (*.трам-пам.пам) , после установленного ссл-коннекта, далее я проксирую на нужный ресурс <div>внутри нгинх-а, без дальнейших извращений </div><div>либо на разные порты/ип </div><div>можно упростить жизнь клиентам и нгинх-ом сделай рерайт,
т.е. клиент пишет что-то простенькое в запросе, а нгинх рерайтит на нужный ресурс с нужным портом и пр </div><br><div><span class="gmail_quote">2007/10/11, Oleg Motienko <<a href="mailto:motienko@gmail.com">motienko@gmail.com
</a>>:</span><blockquote class="gmail_quote" style="margin:0;margin-left:0.8ex;border-left:1px #ccc solid;padding-left:1ex">Проблема курицы и яйца.<br>Решения:<br>1) разнести виртуальные сервера по разным ip адресам или/и портам;
<br>2) сделать единый сертификат для всех сабдоменов, точно не помню,<br>что-то вроде *.domain.ru<br><br>On 10/11/07, Vadim S. Khondar <<a href="mailto:sunny@voliacable.com">sunny@voliacable.com</a>> wrote:<br>> Здравствуйте!
<br>><br>> Подскажите, пожалуйста.<br>><br>> есть конфигурация:<br>> http {<br>><br>> [skip]<br>> server {<br>> listen <a href="http://192.168.1.1:443">192.168.1.1:443</a>;<br>>
<br>> server_name <a href="http://tools.domain1.org.ua">tools.domain1.org.ua</a> tools.*;<br>> access_log /var/www/clients/.share/tools/logs/access.log main;<br>> error_log /var/www/clients/.share/tools
/logs/error.log;<br>><br>> if ($http_host ~* ^tools.(.*)$) {<br>> set $_lowdomain "$1";<br>> }<br>><br>> keepalive_timeout 70;<br>> ssl on;
<br>> ssl_certificate /usr/local/etc/ssl/tools.domain1.org.ua.nginx.crt;<br>> ssl_certificate_key /usr/local/etc/ssl/tools.domain1.org.ua.nginx.key;<br>><br>> ssl_protocols SSLv2 SSLv3 TLSv1;
<br>> ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;<br>> ssl_prefer_server_ciphers on;<br>> ssl_session_cache shared:SSL:10m;<br>> ssl_session_timeout 10m;
<br>><br>> location ~* ^.+\.(ico|jpg|jpeg|gif|js|png|htm|html)$ {<br>> root /var/www/clients/.share/tools/webroot;<br>> }<br>> [skip]<br>> server {<br>> listen
<a href="http://192.168.1.1:443">192.168.1.1:443</a>;<br>><br>> server_name <a href="http://domain2.biz">domain2.biz</a>;<br>> access_log /var/www/clients/client/domains/domain2.biz/logs/saccess.log main;
<br>> error_log /var/www/clients/client/domains/domain2.biz/logs/serror.log;<br>><br>> keepalive_timeout 70;<br>> ssl on;<br>> ssl_certificate /usr/local/etc/ssl/www.domain2
.biz.nginx.crt;<br>> ssl_certificate_key /usr/local/etc/ssl/www.domain2.biz.nginx.key;<br>><br>> ssl_protocols SSLv2 SSLv3 TLSv1;<br>> ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
;<br>> ssl_prefer_server_ciphers on;<br>> ssl_session_cache shared:SSL:10m;<br>> ssl_session_timeout 10m;<br>><br>> location ~* ^.+\.(ico|jpg|jpeg|gif|js|png|htm|html)$ {
<br>> root /var/www/clients/client/domains/domain2.biz/webroot/httpsdocs;<br>> }<br>><br>> location / {<br>> proxy_pass <a href="http://192.168.1.1:8080">http://192.168.1.1:8080
</a>/domain2.biz/httpsdocs/;<br>> proxy_redirect <a href="http://domain2.biz:8080">http://domain2.biz:8080</a>/domain2.biz/httpsdocs/ <a href="https://domain2.biz/">https://domain2.biz/</a>;<br>> proxy_set_header Host $host;
<br>> proxy_set_header X-Real-IP $remote_addr;<br>> proxy_set_header X-Forwarded-For $remote_addr;<br>> #client_max_body_size 10m;<br>> #client_body_buffer_size 128k;
<br>> proxy_connect_timeout 90;<br>> proxy_send_timeout 90;<br>> proxy_read_timeout 90;<br>> proxy_buffer_size 4k;<br>> proxy_buffers 4 32k;<br>> proxy_busy_buffers_size 64k;
<br>> proxy_temp_file_write_size 64k;<br>> }<br>> }<br>> [skip]<br>> }<br>><br>> Если заходить на <a href="http://domain2.biz">domain2.biz</a> используется сертификат для domain1 (если
<br>> в браузере посмотреть).<br>> Если поменять порядок следования server'ов, то наоборот, для<br>> <a href="http://domain2.biz">domain2.biz</a> используется сертификат domain1.<br>><br>> Как бы сделать, чтобы использовался для каждого свой? или для name-based
<br>> вирт.серверов этого нельзя?<br>><br>> nginx version: nginx/0.5.31<br>> configure arguments: --prefix=/usr/local/etc/nginx --with-cc-opt=-I /usr/local/include<br>> --with-ld-opt=-L /usr/local/lib --conf-path=/usr/local/etc
/nginx/nginx.conf<br>> --sbin-path=/usr/local/sbin/nginx --pid-path=/var/run/nginx.pid<br>> --http-client-body-temp-path=/var/tmp/nginx/client_body_temp<br>> --http-proxy-temp-path=/var/tmp/nginx/proxy_temp<br>> --http-fastcgi-temp-path=/var
/tmp/nginx/fastcgi_temp<br>> --http-log-path=/var/log/nginx-access.log --error-log-path=/var/log/nginx-error.log<br>> --with-http_stub_status_module --user=www --group=www --with-http_ssl_module<br>><br>> FreeBSD
6.2-STABLE i386<br>><br>> --<br>><br>> Yours faithfully,<br>> Vadim S. Khondar<br>><br>> Если бы вам удалось надавать под зад человеку, виноватому в<br>> большинстве ваших неприятностей, вы бы неделю не смогли сидеть.
<br>> (с) Не моё<br>><br>><br>><br><br><br>--<br>Regards,<br>Oleg<br></blockquote></div><br>