Мне удалось установить SSL через certbot в мой контейнер Nginx Docker,
но после установки весь трафик маршрутизируется через HTTPS
отказывается подключаться.
завиток https://www.example.com
или же завиток https://the_ip_of_server
curl: (7) Не удалось подключиться к порту 443 example.com через 9822 мс: соединение отклонено
~ Порт 443 открыт на сервере (AWS Lisghtsail)
завиток http://www.example.com
<html>
<head><title>301 Moved Permanently</title></head>
<body>
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx/1.21.6</center>
</body>
</html>
но когда curl http://the_ip_of_server
<html>
<head><title>404 Not Found</title></head>
<body>
<center><h1>404 Not Found</h1></center>
<hr><center>nginx/1.21.6</center>
</body>
</html>
вот nginx.conf
#Ограничение параллелизма
limit_conn_zone $binary_remote_addr zone=per_ip:10m;
сервер {
имя_сервера example.com www.example.com;
место расположения / {
прокси_пасс http://flask:8080/;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Хост $host;
прокси_перенаправление выключено;
proxy_intercept_errors включен;
limit_conn per_ip 12;
}
страница_ошибки 404 /notfound.html;
местоположение /notfound.html {
корень /var/www/html;
внутренний;
}
error_page 500 502 503 504 /maintenance.html;
расположение /maintenance.html {
корень /var/www/html;
внутренний;
}
слушать 443 ssl; # под управлением Certbot
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # под управлением Certbot
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # под управлением Certbot
включить /etc/letsencrypt/options-ssl-nginx.conf; # под управлением Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # под управлением Certbot
}
сервер {
если ($host = www.example.com) {
вернуть 301 https://$host$request_uri;
} # управляется Certbot
если ($host = example.com) {
вернуть 301 https://$host$request_uri;
} # управляется Certbot
слушать 80 default_server;
имя_сервера example.com www.example.com;
вернуть 404; # под управлением Certbot
}
докер-compose.yml
версия: '3.7'
Сервисы:
колба:
сборка: приложение ./Flask
имя_контейнера: колба
перезапуск: всегда
среда:
- APP_NAME=окружение
разоблачать:
- 8080
нгинкс:
сборка: ./Nginx
имя_контейнера: nginx
перезапуск: всегда
порты:
- "80:80"