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

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


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