add: Контейнеризация архива cad.ru (1998)
- Добавлен Dockerfile для dev и prod (с HTML и конфигом в образе)
- docker-compose.yml для разработки
- Nginx конфиг cadpoint1998--internal-nginx.conf с KOI8-R
- .dockerignore для исключения лишних файлов
- Переименование configs/ → config/ (современный стандарт)
This commit is contained in:
75
config/nginx/cadpoint1998--internal-nginx.conf
Normal file
75
config/nginx/cadpoint1998--internal-nginx.conf
Normal file
@@ -0,0 +1,75 @@
|
||||
# --- ОПТИМИЗАЦИЯ ПРОИЗВОДИТЕЛЬНОСТИ ---
|
||||
# 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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user