Files
MES_Core/nginx/default.conf
ackFromRedmi f759c2c17e
All checks were successful
Deploy MES Core / deploy (push) Successful in 9s
Обновил модели: добавил Компании и Габариты
2026-03-28 11:49:01 +03:00

57 lines
2.8 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Описываем группу серверов, куда Nginx будет перекидывать запросы.
# 'web' — это имя сервиса из нашего docker-compose.yml.
upstream django_app {
server web:8000;
}
server {
# Слушаем стандартный 80-й порт (HTTP).
listen 80;
# Список имен, на которые будет откликаться сервер.
# Если зайти по другому IP, Nginx может выдать ошибку.
server_name shiftflow.tertelius.space 192.168.1.108 localhost;
# Увеличиваем лимит загрузки (по умолчанию в Nginx всего 1МБ).
# 100М — чтобы ты мог спокойно грузить тяжелые чертежи или фото станков.
client_max_body_size 100M;
# Включаем Gzip-сжатие. Nginx будет сжимать текстовые файлы перед отправкой,
# что ускорит загрузку интерфейса, особенно на слабом интернете.
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml;
# Главный блок: всё, что не статика, летит в Django.
location / {
proxy_pass http://django_app;
# Передаем оригинальный домен/IP (нужно для ALLOWED_HOSTS в Django).
proxy_set_header Host $host;
# Передаем реальный IP пользователя (чтобы в логах видеть, кто зашел).
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# Передаем протокол (http или https).
# КРИТИЧНО для CSRF защиты, чтобы Django не ругался при входе в админку.
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
}
# Раздача статики (CSS, JS, картинки интерфейса).
# Nginx сам лезет в папку, не беспокоя Django — это очень быстро.
location /static/ {
# Путь ВНУТРИ контейнера Nginx (куда мы примонтировали волюм).
alias /app/staticfiles/;
# Заставляем браузер кэшировать стили на 30 дней, чтобы не качать их каждый раз.
expires 30d;
add_header Cache-Control "public, no-transform";
}
# Раздача медиа-файлов (чертежи, фото продукции).
location /media/ {
alias /app/media/;
expires 30d;
add_header Cache-Control "public, no-transform";
}
}