не работает ssl-сертификат или прокси-сервер nginx

#docker #ssl #nginx #https #nginx-reverse-proxy

#docker #ssl #nginx #https #nginx-обратный прокси

Вопрос:

Я создал домен (domain.com ) и поддомен (abc.domain.com ), а также сгенерировал SSL-сертификаты для обоих с помощью letsencrypt. Оба проекта Django размещены на AWS EC2, и для них создан прокси-сервер, который выглядит следующим образом:

 server {
    listen      443 ssl;
    server_name example.com;

    location / {
        proxy_pass https://1.2.3.4:444;
        proxy_ssl_server_name       on;
        proxy_ssl_verify            on;
        proxy_ssl_certificate      /home/domain/fullchain.pem;
        proxy_ssl_certificate_key  /home/domain/privkey.pem;
    }
}


server {
    listen      443 ssl;
    server_name abc.example.com;

    location / {
        proxy_pass https://1.2.3.4:445;
        proxy_ssl_server_name       on;
        proxy_ssl_verify            on;
        proxy_ssl_certificate      /home/subdomain/fullchain.pem;
        proxy_ssl_certificate_key  /home/subdomain/privkey.pem;
    }
}
  

Я настраиваю прокси-сервер и оба проекта, начиная без каких-либо проблем проблема в том, что когда я вхожу https://example.com в браузер, он не показывает страницу, но когда я выбираю домен с номером порта. https://example.com:444 , он начинает показывать страницу. Я не знаю, чего мне не хватает.

Ответ №1:

Для того, чтобы https://example.com работать, вам необходимо правильно настроить Nginx с конфигурацией SSL, которая включает директивы using ssl_certificate и ssl_certificate_key , поскольку не похоже, что вы их используете.

Использование proxy_ssl_certificate предназначено для использования HTTPS-соединения между Nginx и прокси-сервером, который в вашем случае является приложением django.

Использование ssl_certificate предназначено для использования HTTPS-соединения между браузером пользователя и Nginx, которое вам нужно заставить https://example.com работать должным образом

Для получения более подробной информации проверьте настройку HTTPS-серверов

Комментарии:

1. proxy_ssl_certificate и proxy_ssl_certificate_key необходимо удалить из местоположения @mostafa

2.Я не уверен в этом, поскольку в документации упоминается, что эти директивы для связи между Nginx и тем, что за ним стоит, и ничего не говорится об их использовании с ssl_certificate nginx.org/en/docs/http /… отличие ssl_certificate будет между браузером и самим nginx

3. Есть ли у вас конфликт при использовании обоих ssl_certificate и proxy_ssl_certificate ?

4. пожалуйста, опубликуйте возникшую у вас ошибку. Вообще говоря, для https://example.com работы вам нужно использовать ssl_certificate и так далее.