====== Настройка ssl (https) в nginx, самоподписной сертификат ======
Создадим папку где будем хранить сертификаты:
mkdir /etc/nginx/ssl
Настроим права на каталог:
chmod 700 /etc/nginx/ssl
Перейдем в эту папку и сгенерируем сертификат:
cd /etc/nginx/ssl
openssl req -new -x509 -days 9999 -nodes -out cert.pem -keyout cert.key
При генерации вас попросят указать некоторые данные, так как мы создаём сертификат для себя то заполнять их не обязательно.
Скопируем конфиг стандартного сайта
cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default_ssl
Отредактируем его, укажем порт 443, включим SSL и укажем пути к сертификатам ''nano /etc/nginx/sites-available/default_ssl''.
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;
...
...
...
}
Добавим перенаправление с http на https в стандартный конфиг ''nano /etc/nginx/sites-available/default''
server
{
server_name site.ru;
listen *:80;
if ( $scheme = "http" ) {
rewrite ^/(.*)$ https://$host/$1 permanent;
}
...
...
...
}