Инструменты пользователя

Инструменты сайта


https_nginx_certificate

Настройка 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;
    }
    
    ...
    ...
    ...
}

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
  ____    ___    __    ___   _____
 / __ \  / _ \  / /   / _ \ / ___/
/ /_/ / / ___/ / /__ / // // (_ / 
\____/ /_/    /____//____/ \___/
 
https_nginx_certificate.txt · Последние изменения: 2016/09/06 16:29 — admin