Установка SSL-сертификата на сервер Nginx
Вы можете установить SSL-сертификат на сервер Nginx, чтобы сервер Nginx поддерживал безопасный доступ HTTPS. В этой статье описывается, как установить SSL-сертификат на сервер Nginx.
В качестве примера в этом документе используется версия Nginx nginx/1.18.0.
Перед установкой убедитесь, что порт 443 не занят. Если порт 443 уже используется, при установке сертификата привяжите другой порт.
Получение сертификата
- После выпуска сертификата мы предоставим вам файл сертификата в сжатом формате (.zip). В архиве находятся четыре папки, соответствующие четырём форматам сертификатов: Tomcat, Nginx, IIS, Apache. Для сервера Nginx необходимо использовать сертификат из папки Nginx.
- Папка Nginx будет содержать два файла:
domain_com_integrated.crt— файл сертификатаdomain_com.key— файл закрытого ключа
Установка SSL-сертификата
- Скопируйте полученные файл сертификата
domain_com_integrated.crtи файл закрытого ключаdomain_com.keyиз локального каталога в каталог/etc/nginx/sslна сервере Nginx.
- Если каталог
/etc/nginx/sslне существует, его можно создать с помощью командыmkdir -p /etc/nginx/ssl - Расположение каталогов может различаться в зависимости от способа установки; ориентируйтесь на фактическую ситуацию.
- Отредактируйте файл
nginx.confв корневом каталоге Nginx. Измените содержимое следующим образом:
server {
listen 443 ssl;
#填写自己的域名,多个域名用空格隔开
server_name racent.com;
#填写证书文件的相对路径或绝对路径
ssl_certificate cloud.tencent.com_bundle.crt;
#填写私钥文件的相对路径或绝对路径
ssl_certificate_key cloud.tencent.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE;
ssl_prefer_server_ciphers on;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
Из-за различий в версиях файл конфигурации может иметь разный синтаксис. Например: для Nginx версии ниже nginx/1.15.0 используйте listen 443 и ssl on вместо listen 443 ssl.
После внесения изменений сохраните файл конфигурации и выполните следующую команду:
nginx -t #验证配置文件是否正确
nginx -s reload #重载 Nginx
Тестирование SSL-сертификата
Введите в адресной строке браузера домен, к которому привязан SSL-сертификат, чтобы проверить, успешно ли установлен ваш SSL-сертификат. Если установка прошла успешно, в адресной строке браузера появится значок замка безопасности. Нажмите на него, чтобы просмотреть информацию о сертификате.

Безопасная настройка автоматического перенаправления HTTP на HTTPS (необязательно)
Если вам необходимо автоматически перенаправлять HTTP-запросы на HTTPS, вы можете выполнить следующие действия:
- Используйте функцию перенаправления Nginx, добавьте
return 301 https://$host$request_uri;вserverдля HTTP, чтобы перенаправлять запросыHTTPнаHTTPS. Измените следующее содержимое:
server {
listen 80;
#把http的域名请求转成https
return 301 https://$host$request_uri;
}
- Перезапустите сервер Nginx, чтобы использовать доменное имя для доступа и реализовать автоматический переход с
HTTPнаHTTPS.