Nginx Установка SSL Сертификата | DATAENGINER

Nginx Установка SSL Сертификата

Добрый день! Сегодня мы рассмотрим как добавить сертификат SSL к Proxy серверу Nginx. И настроить Редирект с http:// на https://

О том, как установить Proxy сервер Nginx, на CentOS8 мы говорили тут.

Для установки сертификата нам потребуются два файла: сам сертификат *.crt и ключ *.key.

Установка сертификата

Шаг 1. В директории с конфигурацией Nginx (/etc/nginx/) создадим каталог ssl.

mkdit -p /etc/nginx/ssl

Шаг 2. Далее скопируем файл сертификата в созданный нами каталог, изначально я положил файлы в домашнюю директорию пользователя root. Поэтому перейду в домашнюю директорию и скопирую файлы оттуда.

cd ~/
cp ssl.crt /etc/nginx/ssl
cp key.key /etc/nginx/ssl
cd /etc/nginx/ssl
ls

Шаг 3. Отредактируем конфигурационный файл nginx.conf, который расположен в каталоге /etc/nginx.

vim /etc/nginx/nginx.conf

В перейдем вниз файла там уже содержится закоментированный блок «server {}», для подключения через ssl сертификат. Раскоментируем данный блок.

По умолчанию в nginx, для имени сертификата и ключа используется server, изменим имя сертификата на ssl.crt, а ключа на key.key. А также изменим расположение по умолчанию на /etc/nginx/ssl

Сохраним наши изменения и перезапустим nginx.

systemctl restart nginx
systemctl status nginx

Nginx перезагрузился и успешно работает дальше, теперь проверим что мы можем подключиться успешно к нашему nginx серверу, для этого перейдем сразу по двум адресам

http://dataenginer.ru
https://dataenginer.ru

Как видите во-втором случае успешно появился замочек, значит наш сертификат успешно работает, но в первом случае мы так же может зайти и по http протоколу и тут, чтобы не получать ошибку при обращении по протоколу http:// у нас есть два варианта: настроить редирект непосредственно в nginx, либо настроить файла .htaccess для редиректа.

Настройку файла .htaccess, вы всегда сможете найти здесь.

А вот как настроить редирект разбирем на следующем шаге.

Настройка Редиректа http на https://

Снова вернемся к конфигурационному файлу nginx, на этот раз мы будем редактировать блок server который отвечает за прослушивание 80 порта.

Чтобы добавить переадресацию в Nginx, добавим ниже блока location следующие три строчки:

if ( $scheme = "http" ) {
rewrite ^/(.*)$ https://$host/$1 permanent;
}

Сохраним изменения и перезапустим Nginx сервер.

systemctl restart nginx
systemctl status nginx

После того как Nginx будет перезапущен, вновь пытаемся подключится по протоколу http://, теперь независимо от того по какому протоколу мы будем подключиться Nginx нам будет отображаться 443 порт на котором используется ssl сертификат.

Если Вам понравилась данная статья или вы хотели бы вместе уточнения в данный материал, Вы всегда можете оставить комментарий и мы с радостью на него ответим.

Постоянный редактор и автор сайта

Leave a reply:

Your email address will not be published.