Шаг 1. Загрузите сертификат SSL
- Войдите в консоль службы управления цифровыми сертификатами .
- На левой панели навигации нажмите Сертификаты SSL .
- На странице сертификата SSL найдите целевой сертификат и в столбце «Действие» нажмите «Загрузить» .
-
В столбце «Действие» , где тип сервера — Nginx , нажмите «Загрузить» .
-
Разархивируйте загруженный пакет сжатия SSL-сертификата.
В зависимости от метода создания CSR, который вы выбрали при подаче заявки на сертификат, файлы, полученные после распаковки, будут разными, как показано в следующей таблице.
увеличить видМетод генерации CSR
Файлы, включенные в ZIP-пакет сертификата
Система генерирует или выбирает существующий CSR.
Включите следующие файлы:
-
Файл сертификата (формат PEM): по умолчанию он называется в честь имени домена привязки сертификата ID_certificate . Файл сертификата в формате PEM представляет собой текстовый файл, закодированный с помощью Base64.
-
Файл закрытого ключа (формат TXT): пароль файла сертификата, названный в честь имени домена, привязанного к сертификату по умолчанию .
Заполните вручную
Включен только файл сертификата (в формате PEM), и вам необходимо вручную создать файл закрытого ключа сертификата. Подробности см. в разделе Создание закрытого ключа .
иллюстрироватьВ соответствии с реальными потребностями вы можете преобразовать файл сертификата в формате PEM в другие форматы. Подробную информацию о преобразовании формата сертификата см. в разделе Преобразование формата сертификата .
-
Шаг 2. Установите сертификат на сервер Nginx.
Операции по установке сертификатов на автономных серверах Nginx и виртуальных хостах Nginx различаются. Выберите соответствующие шаги установки в соответствии с вашей реальной средой.
Установите сертификаты на автономный сервер Nginx
-
Выполните следующую команду, чтобы создать каталог для хранения сертификатов в каталоге conf Nginx.
Увеличьте масштаб, чтобы просмотреть код копированияcd /usr/local/nginx/conf #Введите каталог файла конфигурации Nginx по умолчанию. Этот каталог является каталогом по умолчанию для ручной компиляции и установки Nginx. Если вы изменили каталог установки по умолчанию или установили его другим способом, настройте его в соответствии с фактической конфигурацией. mkdir cert #Создайте каталог сертификатов с именем cert.
-
Загрузите файл сертификата и файл закрытого ключа в каталог сертификатов (/usr/local/nginx/conf/cert) сервера Nginx.
-
Отредактируйте файл конфигурации Nginx nginx.conf, чтобы изменить конфигурации, связанные с сертификатами.
-
Выполните следующую команду, чтобы открыть файл конфигурации.
Увеличьте масштаб, чтобы просмотреть код копированияvim /usr/local/nginx/conf/nginx.conf
важныйnginx.conf по умолчанию сохраняется в каталоге /usr/local/nginx/conf. Если вы изменили расположение nginx.conf, вы можете выполнить его
nginx -t
, чтобы просмотреть путь к файлу конфигурации nginx и/usr/local/nginx/conf/nginx.conf
заменить его. -
Нажмите клавишу i, чтобы войти в режим редактирования.
-
Найдите конфигурацию атрибутов сервера в nginx.conf.
-
Удалите символ комментария # в начале строки и измените его в соответствии со следующим содержимым.
Увеличьте масштаб, чтобы просмотреть код копированиясервер { #HTTPS порт доступа по умолчанию 443. #Если здесь не настроен порт доступа HTTPS по умолчанию, это может привести к сбою запуска Nginx. слушать 443 SSL; #Заполняем имя домена, привязанное к сертификату имя_сервера <вашдомен>; # Введите имя файла сертификата ssl_certificate cert/<имя-файла-сертификата>.pem; #Вводим имя файла закрытого ключа сертификата ssl_certificate_key cert/<имя-файла-сертификата>.key; ssl_session_cache общий: SSL: 1m; ssl_session_timeout 5 м; #набор шифров по умолчанию ssl_ciphers HIGH:!aNULL:!MD5; #Настройте тип используемого протокола TLS и набор шифров (ниже приведен пример конфигурации, оцените, нужно ли вам настраивать его самостоятельно) #Чем выше версия протокола TLS, тем выше безопасность связи HTTPS, но по сравнению с более низкой версией протокола TLS более высокая версия протокола TLS менее совместима с браузерами. #ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; #Указывает, что предпочтительным является набор шифров на стороне сервера. включено по умолчанию ssl_prefer_server_ciphers включен; расположение / { корневой HTML; индекс index.html index.htm; } }
-
Необязательно: установите HTTP-запросы для автоматического перенаправления на HTTPS.
важныйrewrite
Если вы хотите, чтобы все посещения HTTP автоматически перенаправлялись на страницы HTTPS, вы можете добавить инструкции под перенаправленными сайтами HTTP .
Увеличьте масштаб, чтобы просмотреть код копированияserver {}
Следующие фрагменты кода необходимо разместить после фрагментов кода в файле nginx.conf , то есть после автоматического перенаправления HTTP-запросов на HTTPSserver {}
в файле nginx.conf будет два фрагмента кода.сервер { слушай 80; #Заполняем имя домена, привязанное к сертификату имя_сервера <вашдомен>; #Перенаправьте все HTTP-запросы на HTTPS с помощью команды перезаписи. перепишите ^(.*)$ https://$host$1; расположение / { индекс index.html index.htm; } }
Эффект конфигурации показан на рисунке ниже:
-
После завершения модификации нажмите клавишу Esc, введите: wq и нажмите клавишу Enter, чтобы сохранить измененный файл конфигурации и выйти из режима редактирования.
-
-
Выполните следующую команду, чтобы перезапустить службу Nginx.
Увеличьте масштаб, чтобы просмотреть код копированияcd /usr/local/nginx/sbin #Введите каталог исполняемых файлов службы Nginx. ./nginx -s reload #Перезагрузить файл конфигурации.
иллюстрировать-
Ошибка
the "ssl" parameter requires ngx_http_ssl_module
: вам необходимо перекомпилировать Nginx и добавить--with-http_ssl_module
конфигурацию при компиляции и установке. -
Ошибка
"/cert/3970497_demo.aliyundoc.com.pem":BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/cert/3970497_demo.aliyundoc.com.pem','r') error:2006D080:BIO routines:BIO_new_file:no such file)
: Вам необходимо удалить первую часть относительного пути сертификата/
. Например, вам нужно удалить/cert/cert-file-name.pem
ведущий/
и использовать правильный относительный путьcert/cert-file-name.pem
.
-
Установите сертификаты на виртуальные хосты Nginx
Чтобы установить сертификаты на разные виртуальные хосты, вам необходимо выполнить разные действия. Если вы используете виртуальный облачный хост Alibaba Cloud, подробности см. в разделе « Включение зашифрованного доступа по протоколу HTTPS» . Если вы используете виртуальный хост другой марки, обратитесь к руководству по эксплуатации соответствующего виртуального хоста для установки сертификата.
Шаг 3. Убедитесь, что сертификат SSL успешно установлен.
После установки сертификата вы можете проверить, успешно ли установлен сертификат, обратившись к связанному доменному имени сертификата. Увеличьте масштаб, чтобы просмотреть код копирования
https://вашдомен #Необходимо заменить вашдомен на имя домена, привязанное к сертификату.
Если в адресной строке веб-страницы появится небольшой символ замка, это означает, что сертификат успешно установлен.