nginx HTTPs Для локальной разработки. Как настроить в Linux
Primary tabs
Ранее мы рассматривали как настроить виртуальный хост, теперь давайте сделаем так, чтобы локально к нашему сайту можно было обращаться по протоколу https. Делаем следующее:
-
Сналача создадим сертификат и ключ (самоподписанный SSL-сертификат с приватным ключом), выполнив команду в терминале:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/test-nginx-selfsigned.key -out /etc/ssl/certs/test-nginx-selfsigned.crt
где:
-
req
— это команда, которая указывает на использование X.509 (управление запросом подписи сертификата); -
-x509
— это команда управления данными сертификата, указывающая на создание самоподписанного сертификата; -
-nodes
— это команда, которая говорит не использовать пароль для доступа к ключу; -
-days 365
— это команда, которая устанавливает срок действия сертификата в днях (мы установили его на год); -
-newkey rsa: 2048
— это команда, которая генерирует новый приватный ключ с использованием алгоритма RSA с длиной ключа 2048 бит; - а также пути (и имена файлов, соответственно) для размещения ключа и сертификата:
-
-keyout /etc/ssl/private/test-nginx-selfsigned.key
— это путь для размещения файла приватного ключа; -
-out /etc/ssl/certs/test-nginx-selfsigned.crt
— это путь для размещения файла сертификата.
-
После выполнения команды утилита создания задаст вопросы для получения инфромации о ключе - все их можно пропустить, просто нажимая Enter.
-
- Далее нам нужно указать использовать ключ и сертификат в конфигурации виртуального хоста, далее все зависит от того что у вас за виртуальный хост (напр. прокси или обычный).
Объясним на примере обычном минимального хоста, если он был сконфигурирован как:
server { listen 80; root var/www/nginxtest; index index.html index.htm; server_name nginxtest.loc; }
То подключим ssl и укажим пути к файлам так:
server { listen 80; #HTTPs listen 443 ssl; ssl_certificate /etc/ssl/certs/test-nginx-selfsigned.crt; ssl_certificate_key /etc/ssl/private/test-nginx-selfsigned.key; root var/www/nginxtest; index index.html index.htm; server_name nginxtest.loc; }
- Проводим диагностику текущей конфигурации:
sudo nginx -t
В случае успеха ответ должен быть похож на:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful - Перезагружаем nginx, чтобы "подхватить" кофигурация для вновь добавленного виртуального хоста:
sudo service nginx restart
Далее как обычно:
Также правим hosts, как и в обычной инструкции и готово!
Адрес: https://nginxtest.loc
-- теперь должен быть доступен по https (так как сертификат самодписанный в браузере необходимо будет дать разрешение)
Источники:
- Добавление самоподписанного SSL-сертификата в Nginx на Debian/Ubuntu: https://develike.com/ru/stati/dobavlenie...
- Log in to post comments
- 1840 reads