33.4. Создание конфигурации сайта
Создайте файл конфигурации:
sudo nano /etc/nginx/sites-available/sinfo.conf
Добавьте конфигурацию:
map $http_upgrade $connection_upgrade {
default upgrade;
"" "";
}
upstream sinfo_backend {
server 127.0.0.1:5000;
keepalive 64;
}
server {
listen 80;
server_name <DOMAIN>;
server_tokens off;
client_max_body_size 100M;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name <DOMAIN>;
server_tokens off;
ssl_certificate /etc/ssl/sinfo/sinfo.crt;
ssl_certificate_key /etc/ssl/sinfo/sinfo.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers off;
ssl_session_cache shared:SSL:50m;
ssl_session_timeout 1d;
ssl_session_tickets off;
client_max_body_size 100M;
proxy_read_timeout 43200;
proxy_connect_timeout 43200;
proxy_send_timeout 43200;
access_log /var/log/nginx/sinfo_access.log;
error_log /var/log/nginx/sinfo_error.log warn;
# ===== Backend S-INFO =====
# Весь backend публикуется под /api/.
# /api/ -> http://127.0.0.1:5000/
# /api/signalr_hub -> http://127.0.0.1:5000/signalr_hub
# /api/<method> -> http://127.0.0.1:5000/<method>
location /api/ {
proxy_pass http://sinfo_backend/;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Prefix /api;
# WebSocket / SignalR
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
# Долгие REST-запросы, отчеты, импорт, экспорт
proxy_read_timeout 43200;
proxy_send_timeout 43200;
proxy_connect_timeout 43200;
# Большие загрузки файлов
proxy_request_buffering off;
proxy_buffering off;
# API не кэшируется
proxy_cache off;
proxy_no_cache 1;
proxy_cache_bypass 1;
add_header Cache-Control "no-store" always;
}
# ===== S-INFO WEB, если веб-клиент установлен =====
root /var/www/sinfo-web;
index index.html;
location = /index.html {
add_header Cache-Control "no-cache, must-revalidate" always;
etag on;
try_files $uri =404;
}
location = /config.json {
add_header Cache-Control "no-cache, must-revalidate" always;
etag on;
try_files $uri =404;
}
location ~* \.(js|mjs|css|png|jpg|jpeg|gif|svg|webp|ico|woff2?|ttf|eot)$ {
expires 2h;
add_header Cache-Control "public, max-age=7200" always;
etag on;
try_files $uri =404;
}
location / {
try_files $uri $uri/ /index.html;
}
}
Замените:
| ||||||||||
Таблица 12
|