Nginx настраиваем https доступ к вашим ресурсам

2015, 25 июля

Для начало создадим ключ(внутренний private ключ) или возьмем уже готовый, создаем:

openssl genrsa -out mykey.key 1024

Ключ готов, теперь нужно создать сертификат(публичный public ключ):

#Тут мы создаем сертификат который будет действителен в течении 9999 дней
openssl req -new -x509 -days 9999 -nodes -out mykey.crt -keyout mykey.key

Он задаст вам вопросы по местоположению и названию организации, вводите их. Теперь открываем конфиг nginx это либо /etc/nginx/nginx.conf, либо в /etc/nginx/site-enabled/ имя вашего конфига(ну или в другой папке в зависимости от ваших настроек)
Добавляем секцию server(можно добавить ssl и в уже существующую ):

server {  
#Порт на котором будет слушать серве  
        listen  *:443;  
        server_name    myhost.local;  
#включаем  ssl  
        ssl                     on;  
#Доступные  протоколы  
        ssl_protocols           SSLv3 TLSv1;
        ssl_certificate         путь к  файлу mykey.crt;  
  ssl_certificate_key     путь к файлу mykey.key;  
#Что откуда берем, тут указываю, что при обращении к https://myhost.local/admin/  
#nginx будет отдавать по протоколу ssl файы из /home/myhost.local/admin/  
# при запросе к https://myhost.local/  получите 404, а если хотите доступ ко  всему сайту по ssl, то   
#добавьте   location / {..}  
  location ^~ /admin/ {  
     root /home/myhost.local/admin/;  
     Index  index.htm index.html;  
     autoindex on;  
  }
 
}

Перезагружаем nginx и радуемся

/etc/init.d/nginx restart