Home > nginx > Настройка SSL в nginx

Настройка SSL в nginx

December 9th, 2009

В nginx настроить SSL для домена еще проще чем в Апаче. Для начала генерим закрытый ключ, запрос на сертификат и подписываем его как указано в статье настройка SSL на Apache

Теперь конфиг:

server {
        listen 1.2.3.1:443;
        keepalive_timeout    70;

        server_name .domain.com;

        ssl                  on;
        ssl_protocols        SSLv3 TLSv1;
        ssl_ciphers          AES128-SHA:AES256-SHA:RC4-SHA:DES-CBC3-SHA:RC4-MD5;
        ssl_certificate      /etc/nginx/vhosts/www.domain.crt;
        ssl_certificate_key  /etc/nginx/vhosts/www.domain.key;
        ssl_session_cache    shared:SSL:10m;
        ssl_session_timeout  20m;

        location ~* \.(JPG|jpg|jpeg|gif|png|ico|zip|doc|gz|rar|bz2|swf|avi|mpg|vmw|wmv|mpeg|mkv|js)$ {
            root /usr/local/www/domain.com;
            expires max;
        }

        location / {
            proxy_pass         http://127.0.0.1:80/;
            proxy_redirect     off;
            proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For $remote_addr;
        }
    }

Нюансы такие:
Файл с закрытым ключем придется делать без пароля. Если он у вас с паролем, то снять пароль можно так:

openssl rsa -in key.pem -out keyout.pem

Ну и если вы делаете нормальные подписанные авторитетными CA сертификаты уникальные для каждого домена, то не забыть вешать каждый домен на отдельный ип.
На апаче в такой конфигурации вообще ничего изменять не нужно и до апача доходит уже расшифрованный трафик.

nginx ,

  1. No comments yet.
  1. No trackbacks yet.