SSL-сертификат или прокси-сервер nginx не работает - PullRequest
0 голосов
/ 06 марта 2019

Я создал домен (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 Ответ

1 голос
/ 06 марта 2019

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

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

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

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

...