У меня есть рабочее решение, в котором я настроил докерскую среду с Traefik, NGINX, Gunicorn и Django - все отлично работает вместе.Статический контент подается из NGINX.У меня проблема с добавлением DNS-имени www на x.com - NGINX не может обслуживать статический контент.
Это мой файл default.conf:
server {
listen 80;
server_name _;
# server_name _;
client_max_body_size 200M;
set $cache_uri $request_uri;
location = /favicon.ico { log_not_found off; access_log off; }
location = /robots.txt { log_not_found off; access_log off; }
ignore_invalid_headers on;
add_header Access-Control-Allow_Origin *;
location /static {
autoindex on;
alias /static;
}
location /media {
autoindex on;
alias /media;
}
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
}
Я попытался изменитьимя_сервера на x.com www.x.com, но результаты совпадают.
Ниже приведена часть NGINX моего файла docker-compose.yml
nginx:
image: nginx:alpine
container_name: ${CONTAINER_NGINX}
restart: always
volumes:
- ./default.conf:/etc/nginx/conf.d/default.conf
- ./saleor/static/:/static
networks:
- proxy
- ${DOCKER_NETWORK_INTERNAL_NAME}
labels:
- "traefik.enable=true"
- "traefik.backend=${CONTAINER_NGINX}"
- "traefik.frontend.rule=Host:x.com;PathPrefix:/static,www.x.com;PathPrefix:/static"
- "traefik.docker.network=proxy"
- "traefik.port=80"