Re: разные SSL сертификаты для разных виртуальных серверов

Alexey Karagodov karagodov at gmail.com
Thu Oct 11 12:07:20 MSD 2007


я например делал один сертификат (*.трам-пам.пам) , после установленного
ссл-коннекта, далее я проксирую на нужный ресурс внутри нгинх-а, без
дальнейших извращений
либо на разные порты/ип
можно упростить жизнь клиентам и нгинх-ом сделай рерайт, т.е. клиент пишет
что-то простенькое в запросе, а нгинх рерайтит на нужный ресурс с нужным
портом и пр

2007/10/11, Oleg Motienko <motienko at gmail.com>:
>
> Проблема курицы и яйца.
> Решения:
> 1) разнести виртуальные сервера по разным ip адресам или/и портам;
> 2) сделать единый сертификат для всех сабдоменов, точно не помню,
> что-то вроде *.domain.ru
>
> On 10/11/07, Vadim S. Khondar <sunny at voliacable.com> 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
> >
> > Если бы вам удалось надавать под зад человеку, виноватому в
> > большинстве ваших неприятностей, вы бы неделю не смогли сидеть.
> > (с) Не моё
> >
> >
> >
>
>
> --
> Regards,
> Oleg
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20071011/2c978059/attachment.html>


More information about the nginx-ru mailing list