Создадим папку где будем хранить сертификаты:
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; } ... ... ... }
Обсуждение