Как включить ssl в NGINX, используя сертификат Goddady?
Я новичок в этом, еще не устанавливал SSL-сертификаты в nginx, так что извините за мое незнание.
У меня есть сертификат от Godaddy, но я не могу найти способ использовать его на моем сервере Linux (Ubuntu 18.04).
Я пробежусь через то, что я сделал до сих пор.
Сертификат Godaddy
В процессе создания сертификата SSL сначала Godaddy предоставляет два файла, один с вашим ключом сертификата SSL, а другой с CSR (не уверен, что это такое).
Вам будет предложено загрузить сертификат SSL, который представляет собой еще два файла, один из которых представляет собой пакет, а другой - что-то еще (с их веб-сайта). Скопируйте файл сертификата SSL и файл пакета сертификатов на сервер Nginx. оба эти файла .crt
маршрутизатор
Я включил любой входящий 443 для перенаправления трафика на мой сервер.
Сервер Ubuntu 18.04
Я следовал за их не очень полезными уроками.
https://uk.godaddy.com/help/nginx-install-a-certificate-6722
https://www.godaddy.com/garage/how-to-install-an-ssl-certificate-on-ubuntu-for-nginx/
Отредактировал конфигурационный файл nginx
/ И т.д. / Nginx / сайты Недоступные / MyWeb
server {
listen 443;
listen [::]:443;
ssl on;
ssl_certificate_key /etc/nginx/ssl/myweb.key;
ssl_certificate /etc/nginx/ssl/certf.crt;
ssl_certificate /etc/nginx/ssl/b_certf.crt;
root /media/world/myweb/origin;
index index.html index.htm index.nginx-debian.html;
server_name 192.168.0.9 lmyweb.com www.myweb.com;
location / {
try_files $uri $uri/ =404;
}
}
Получая доступ к моему сайту, я получаю 404 этот сайт не может быть достигнуто.
Я что-то пропустил? может быть, некоторые включения в Nginx, о которых я не знаю? или возможно я настраиваю вышеупомянутое в неправильном файле?
Любая помощь будет оценена.
1 ответ
Таким образом, вы попадаете в ряд ловушек, а также в проблемы с сертификатами SSL.
Итак, давайте пройдемся по кусочкам.
SSL-сертификаты для NGINX
В отличие от Apache, вы можете предоставить только один ssl_certificate
линия в блоке сервера; дополнительные вызовут проблемы или вещь, чтобы игнорировать сертификаты.
Сертификаты NGINX должны содержать следующее в этом порядке:
- Твой сайт /
serer_name
специфический сертификат - Цепочка сертификатов CA. Это обеспечивается GoDaddy вместе с вашими сертификатами в их ZIP-файлах.
Обычно вы можете сделать это чем-то вроде cat sitecert.crt ca-cert.crt > sitecert.fullchain.pem
затем используйте sitecert.fullchain.pem
файл в ваших конфигах NGINX.
Конфигурация SSL
Конфигурация NGINX для SSL должна быть следующей (обратите внимание, что другие биты конфигурации удаляются или заменяются # ...
чтобы указать, что вам нужно настроить биты на этом этапе для всех остальных настроек:
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /path/to/sitecert.fullchain.pem;
ssl_certificate_key /path/to/sitecert-private.key;
# ... Site specific configs here
}
Это исправляет несколько вещей:
Это использует правильное
listen 443 ssl;
линия. Вы не должны использоватьssl on;
так как это считается старым и устаревшим.При этом используется полная цепочка сертификатов и ключ, и они располагаются в том же порядке.