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

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


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