Django+nginx+gunicorn проблемы с Cerbot для перехода на HTTPS
В настоящее время я развертываю свое приложение django на сервере AWS Lightsail Debian 10.8. Оно прекрасно работает с http. Поэтому я хотел перевести свое приложение на HTTPS и получить SSL сертификат. Я следовал двум руководствам по этому вопросу :
После выполнения всех этих действий ничего больше не работает даже в HTTP, сайт недоступен... Вот файл конфигурации в /etc/nginx/sites-available.
server {
server_name 13.38.76.96 www.zlochteam.com;
location / {
include proxy_params;
proxy_pass http://localhost:8000/;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/www.zlochteam.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/www.zlochteam.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = www.zlochteam.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
server_name 13.38.76.96 www.zlochteam.com;
return 404; # managed by Certbot
}
Я хотел узнать, сталкивался ли кто-нибудь с такой же проблемой и как он ее решил.
Спасибо!
Прежде чем выполнять команды в certbot, убедитесь, что в вашем Nginx установлено следующее:
server {
listen 80;
listen [::]:80;
...
Похоже, что certbot теперь требует также ipv6.
Http сломался, потому что certbot добавил перенаправление return 301 https://$host$request_uri;
Вам следует протестировать конфиг командой nginx -t, а затем перезагрузить конфиг nginx -s reload.
Решено
Мне просто пришлось разрешить подключение с порта 443 на AWS LightSail, такая глупая ошибка...
Здесь вам нужно добавить HTTPS соединение, во вкладке Networking.
