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

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


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