2026-05-04 20:02:10 +03:30
|
|
|
server {
|
|
|
|
|
listen 8090;
|
|
|
|
|
server_name _;
|
2026-03-30 13:17:34 +03:30
|
|
|
|
2026-05-04 20:02:10 +03:30
|
|
|
root /usr/share/nginx/html;
|
|
|
|
|
index index.html;
|
2026-03-30 13:17:34 +03:30
|
|
|
|
2026-05-04 20:02:10 +03:30
|
|
|
# 🔥 Gzip
|
2026-03-30 13:17:34 +03:30
|
|
|
gzip on;
|
2026-05-04 20:02:10 +03:30
|
|
|
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
|
2026-03-30 13:17:34 +03:30
|
|
|
gzip_comp_level 6;
|
|
|
|
|
|
2026-05-04 20:02:10 +03:30
|
|
|
# 🔥 Brotli (better than gzip)
|
|
|
|
|
# brotli on;
|
|
|
|
|
# brotli_comp_level 6;
|
|
|
|
|
# brotli_types text/plain text/css application/javascript application/json image/svg+xml;
|
2026-03-30 13:17:34 +03:30
|
|
|
|
2026-05-04 20:02:10 +03:30
|
|
|
# 🔥 Cache static assets
|
|
|
|
|
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff2?)$ {
|
|
|
|
|
expires 1y;
|
|
|
|
|
add_header Cache-Control "public, immutable";
|
|
|
|
|
}
|
2026-03-30 13:17:34 +03:30
|
|
|
|
2026-05-04 20:02:10 +03:30
|
|
|
# 🔥 Angular routing (SPA fallback)
|
|
|
|
|
location / {
|
|
|
|
|
try_files $uri $uri/ /index.html;
|
2026-03-30 13:17:34 +03:30
|
|
|
}
|
|
|
|
|
}
|