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