Здесь показаны различия между двумя версиями данной страницы.
https_nginx_certificate [2016/09/06 16:22] admin создано |
https_nginx_certificate [2016/09/06 16:29] (текущий) admin |
||
---|---|---|---|
Строка 8: | Строка 8: | ||
<file> | <file> | ||
chmod 700 /etc/nginx/ssl | chmod 700 /etc/nginx/ssl | ||
+ | </file> | ||
+ | Перейдем в эту папку и сгенерируем сертификат: | ||
+ | <file> | ||
+ | cd /etc/nginx/ssl | ||
+ | openssl req -new -x509 -days 9999 -nodes -out cert.pem -keyout cert.key | ||
+ | </file> | ||
+ | При генерации вас попросят указать некоторые данные, так как мы создаём сертификат для себя то заполнять их не обязательно. | ||
+ | |||
+ | Скопируем конфиг стандартного сайта | ||
+ | <file> | ||
+ | cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default_ssl | ||
+ | </file> | ||
+ | |||
+ | Отредактируем его, укажем порт 443, включим SSL и укажем пути к сертификатам ''nano /etc/nginx/sites-available/default_ssl''. | ||
+ | |||
+ | <file> | ||
+ | server | ||
+ | { | ||
+ | server_name site.ru; | ||
+ | |||
+ | listen *:443; | ||
+ | | ||
+ | ssl on; | ||
+ | ssl_protocols SSLv3 TLSv1; | ||
+ | ssl_certificate /etc/nginx/ssl/cert.pem; | ||
+ | ssl_certificate_key /etc/nginx/ssl/cert.key; | ||
+ | | ||
+ | ... | ||
+ | ... | ||
+ | ... | ||
+ | } | ||
+ | </file> | ||
+ | |||
+ | Добавим перенаправление с http на https в стандартный конфиг ''nano /etc/nginx/sites-available/default'' | ||
+ | |||
+ | <file> | ||
+ | server | ||
+ | { | ||
+ | server_name site.ru; | ||
+ | |||
+ | listen *:80; | ||
+ | | ||
+ | if ( $scheme = "http" ) { | ||
+ | rewrite ^/(.*)$ https://$host/$1 permanent; | ||
+ | } | ||
+ | | ||
+ | ... | ||
+ | ... | ||
+ | ... | ||
+ | } | ||
</file> | </file> |