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

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


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