Доброго времени суток! Имеются несколько сайтов на django+nginx, все работает под docker.
Примерный docker-compose.yml для каждого сайта:
..............................
web:
build: ./project
entrypoint: /home/app/web/entrypoint.sh
expose:
- 8000
..............................
nginx:
build: ./nginx
volumes:
- media_volume:/home/app/web/media
- ./project/static/:/home/app/web/static
- ./project/.well-known/:/home/app/web/.well-known
ports:
- 8081:80
depends_on:
- web
env_file:
- ./.env
..............................
Конфиг nginx-а
upstream django_project {
server web:8000;
}
server {
listen 80;
server_name ${SERVER_NAME};
location / {
proxy_pass http://django_project;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_redirect off;
}
И таких сайтов несколько. Nginx каждого сайта распределен по портам (8081, 8082, 8083). И вне докреа уже в системе установлен глобальный nginx, который проксирует запросы на докеровские nginx-ы, ну и работает с SSL:
server_name $host;
location / {
proxy_pass http://localhost:8081;
proxy_set_header Host $host;
}
Все работает ОК, вот только единственная проблема, при получении absolute_url в django, возвращается полный урл, но только с http. Как сделать так, чтобы был https? Неужто надо будет с внутренних nginx-ов прокидывать путь к ключам и там уже настраивать https?