|
|
|
@ -56,58 +56,104 @@ server {
|
|
|
|
|
try_files $uri @proxy;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
location ~ ^/(emoji|packs|system/accounts/avatars|system/media_attachments/files) {
|
|
|
|
|
add_header Cache-Control "public, max-age=31536000, immutable";
|
|
|
|
|
# If Docker is used for deployment and Rails serves static files,
|
|
|
|
|
# then needed must replace line `try_files $uri =404;` with `try_files $uri @proxy;`.
|
|
|
|
|
location = sw.js {
|
|
|
|
|
add_header Cache-Control "public, max-age=604800, must-revalidate";
|
|
|
|
|
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains";
|
|
|
|
|
try_files $uri @proxy;
|
|
|
|
|
try_files $uri =404;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
location /sw.js {
|
|
|
|
|
add_header Cache-Control "public, max-age=0";
|
|
|
|
|
location ~ ^/assets/ {
|
|
|
|
|
add_header Cache-Control "public, max-age=2419200, must-revalidate";
|
|
|
|
|
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains";
|
|
|
|
|
try_files $uri @proxy;
|
|
|
|
|
try_files $uri =404;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
location @proxy {
|
|
|
|
|
location ~ ^/avatars/ {
|
|
|
|
|
add_header Cache-Control "public, max-age=2419200, must-revalidate";
|
|
|
|
|
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains";
|
|
|
|
|
try_files $uri =404;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
location ~ ^/emoji/ {
|
|
|
|
|
add_header Cache-Control "public, max-age=2419200, must-revalidate";
|
|
|
|
|
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains";
|
|
|
|
|
try_files $uri =404;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
location ~ ^/headers/ {
|
|
|
|
|
add_header Cache-Control "public, max-age=2419200, must-revalidate";
|
|
|
|
|
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains";
|
|
|
|
|
try_files $uri =404;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
location ~ ^/packs/ {
|
|
|
|
|
add_header Cache-Control "public, max-age=2419200, must-revalidate";
|
|
|
|
|
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains";
|
|
|
|
|
try_files $uri =404;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
location ~ ^/shortcuts/ {
|
|
|
|
|
add_header Cache-Control "public, max-age=2419200, must-revalidate";
|
|
|
|
|
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains";
|
|
|
|
|
try_files $uri =404;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
location ~ ^/sounds/ {
|
|
|
|
|
add_header Cache-Control "public, max-age=2419200, must-revalidate";
|
|
|
|
|
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains";
|
|
|
|
|
try_files $uri =404;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
location ~ ^/system/ {
|
|
|
|
|
add_header Cache-Control "public, max-age=2419200, immutable";
|
|
|
|
|
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains";
|
|
|
|
|
try_files $uri =404;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
location ^~ /api/v1/streaming/ {
|
|
|
|
|
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 Proxy "";
|
|
|
|
|
proxy_pass_header Server;
|
|
|
|
|
|
|
|
|
|
proxy_pass http://backend;
|
|
|
|
|
proxy_buffering on;
|
|
|
|
|
proxy_pass http://streaming;
|
|
|
|
|
proxy_buffering off;
|
|
|
|
|
proxy_redirect off;
|
|
|
|
|
proxy_http_version 1.1;
|
|
|
|
|
proxy_set_header Upgrade $http_upgrade;
|
|
|
|
|
proxy_set_header Connection $connection_upgrade;
|
|
|
|
|
|
|
|
|
|
proxy_cache CACHE;
|
|
|
|
|
proxy_cache_valid 200 7d;
|
|
|
|
|
proxy_cache_valid 410 24h;
|
|
|
|
|
proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
|
|
|
|
|
add_header X-Cached $upstream_cache_status;
|
|
|
|
|
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains";
|
|
|
|
|
|
|
|
|
|
tcp_nodelay on;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
location /api/v1/streaming {
|
|
|
|
|
location @proxy {
|
|
|
|
|
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 Proxy "";
|
|
|
|
|
proxy_pass_header Server;
|
|
|
|
|
|
|
|
|
|
proxy_pass http://streaming;
|
|
|
|
|
proxy_buffering off;
|
|
|
|
|
proxy_pass http://backend;
|
|
|
|
|
proxy_buffering on;
|
|
|
|
|
proxy_redirect off;
|
|
|
|
|
proxy_http_version 1.1;
|
|
|
|
|
proxy_set_header Upgrade $http_upgrade;
|
|
|
|
|
proxy_set_header Connection $connection_upgrade;
|
|
|
|
|
|
|
|
|
|
proxy_cache CACHE;
|
|
|
|
|
proxy_cache_valid 200 7d;
|
|
|
|
|
proxy_cache_valid 410 24h;
|
|
|
|
|
proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
|
|
|
|
|
add_header X-Cached $upstream_cache_status;
|
|
|
|
|
|
|
|
|
|
tcp_nodelay on;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
error_page 500 501 502 503 504 /500.html;
|
|
|
|
|
error_page 404 500 501 502 503 504 /500.html;
|
|
|
|
|
}
|
|
|
|
|