Files
1998-cad-cadpoint/config/nginx/cadpoint1998--internal-nginx.conf
erjemin 7a745ec541 add: Контейнеризация архива cad.ru (1998)
- Добавлен Dockerfile для dev и prod (с HTML и конфигом в образе)
     - docker-compose.yml для разработки
     - Nginx конфиг cadpoint1998--internal-nginx.conf с KOI8-R
     - .dockerignore для исключения лишних файлов
     - Переименование configs/ → config/ (современный стандарт)
2026-03-28 12:48:41 +03:00

76 lines
3.9 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.
# --- ОПТИМИЗАЦИЯ ПРОИЗВОДИТЕЛЬНОСТИ ---
# sendfile on; # можно включить для больших статик файлов, но для контейнера избыточно
tcp_nopush on; # отправляй данные только когда буфер полон (меньше пакетов)
tcp_nodelay on; # не жди, отправляй сразу (для low-latency интеракции)
# keepalive_timeout 65; # по умолчанию работает, фреймовый сайт не требует особого тюнинга
types_hash_max_size 2048; # размер хэша для mime.types
# MIME-типы и кодировка по умолчанию
include /etc/nginx/mime.types;
# default_type application/octet-stream; # оставляю по умолчанию
# Настройки логов (stdout/stderr для docker logs)
access_log /dev/stdout; # вывод в stdout контейнера (видно через docker logs)
error_log /dev/stderr warn; # ошибки в stderr
# Настройки сжатия gzip (для экономии трафика между контейнером и внешним nginx)
gzip on; # включаем сжатие
gzip_proxied any; # сжимаем, даже если запрос идет через прокси
gzip_comp_level 6; # уровень сжатия (6 = хороший баланс между CPU и ratio)
gzip_buffers 16 8k; # буферы для сжатия (16 буферов по 8к)
gzip_http_version 1.1; # поддерживаем gzip с HTTP/1.1+
gzip_disable "msie6"; # не сжимаем для IE6 (исторический артефакт, но оставляю)
gzip_vary on; # добавляем Vary: Accept-Encoding в response (важно для кешей)
gzip_min_length 512; # сжимаем только если больше 512 байт (меньше — толку нет)
gzip_types text/plain # какие MIME-типы сжимать
text/css
application/json
application/x-javascript
text/xml application/xml
application/xml+rss
text/javascript
application/javascript
application/vnd.ms-fontobject
application/x-font-ttf
font/opentype
image/svg+xml
image/x-icon;
# --- КОНФИГУРАЦИЯ СЕРВЕРА ---
server {
listen 80 default_server; # слушаем по умолчанию на порте 80 внутри контейнера
listen [::]:80; # поддержка IPv6
server_name _; # принимаем любое имя хоста (внутренний контейнер)
root /usr/share/nginx/html; # корень для статических файлов (монтируется снаружи)
index index.htm index1.htm index.html; # приоритет индексов (index.htm для KOI8-R)
charset koi8-r; # отправляем charset=koi8-r в Content-Type заголовке
source_charset koi8-r; # исходная кодировка файлов на диске
client_max_body_size 50M; # максимальный размер тела запроса (для загрузок)
# Корневой путь → явно на index.htm (для фреймовой структуры)
location = / {
try_files /index.htm =404;
}
# Все остальные пути → статические файлы как есть
location / {
try_files $uri $uri/ =404;
}
# Обработчики ошибок (если они есть в корне html/)
error_page 404 /404.html;
error_page 500 /500.html;
# Внутренние редиректы (не возвращаем клиенту, только используем для error_page)
location = /404.html {
internal;
}
location = /500.html {
internal;
}
}