Я рекомендую использовать nginx
в качестве обратного прокси для вашего веб-приложения. В этом случае вам не нужно будет изменять код вашего приложения, вы сможете изменить настройки HTTPS
без каких-либо изменений в веб-приложении. Шаги:
1) Настройте ваш сайт, например, он будет использовать порт 5000
2) Установите nginx
и создайте базовую конфигурацию, подобную этой:
worker_processes 4;
events { worker_connections 1024; }
http {
sendfile on;
upstream app_servers {
server web:5000;
}
server {
server_name your_server_name_here.com;
listen 80;
location / {
proxy_pass http://app_servers;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
}
}
Подробнее о конфигурации здесь .
3) Используйте letsencrypt для получения бесплатных HTTPS
сертификатов через certbot . Он выполнит всю работу по работе с сертификатами и автоматически изменит ваш nginx
конфиг
Также предлагаю использовать Docker - это поможет вам лучше разделить код и прокси.