Добрый день! Сегодня мы рассмотрим как добавить сертификат 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 сертификат.
Если Вам понравилась данная статья или вы хотели бы вместе уточнения в данный материал, Вы всегда можете оставить комментарий и мы с радостью на него ответим.
1 comments On Nginx Установка SSL Сертификата
Обходились как-то до этого без всяких сертификатов, сейчас приходится бегать по всяким хострадарам закинув язык за плечи, разыскивать хостера с бесплатным ссл.