Files

84 lines
2.9 KiB
Plaintext

log_format asp_main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" "$http_user_agent" '
'request_id=$request_id request_time=$request_time '
'upstream_addr="$upstream_addr" upstream_status="$upstream_status" '
'upstream_response_time="$upstream_response_time"';
upstream asp_web_upstream {
server asp-web:8000;
keepalive 32;
}
server {
listen 443 ssl;
http2 on;
server_name _;
client_max_body_size ${ASP_MAX_UPLOAD_SIZE};
gzip on;
gzip_min_length 1024;
gzip_comp_level 5;
gzip_types application/json text/plain text/css application/javascript application/xml text/javascript;
access_log /var/log/nginx/access.log asp_main;
access_log /var/log/asp/nginx/access.log asp_main;
error_log /var/log/nginx/error.log warn;
error_log /var/log/asp/nginx/error.log warn;
ssl_certificate /etc/nginx/certs/asp.crt;
ssl_certificate_key /etc/nginx/certs/asp.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
root /usr/share/nginx/html;
index index.html;
location /ws/ {
proxy_pass http://asp-asgi:8001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
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-Request-ID $request_id;
proxy_buffering off;
}
location /api/ {
proxy_pass http://asp_web_upstream;
proxy_http_version 1.1;
proxy_connect_timeout ${ASP_NGINX_PROXY_TIMEOUT};
proxy_send_timeout ${ASP_NGINX_PROXY_TIMEOUT};
proxy_read_timeout ${ASP_NGINX_PROXY_TIMEOUT};
proxy_set_header Connection "";
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-Request-ID $request_id;
}
location /admin/ {
proxy_pass http://asp_web_upstream;
proxy_http_version 1.1;
proxy_connect_timeout ${ASP_NGINX_PROXY_TIMEOUT};
proxy_send_timeout ${ASP_NGINX_PROXY_TIMEOUT};
proxy_read_timeout ${ASP_NGINX_PROXY_TIMEOUT};
proxy_set_header Connection "";
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-Request-ID $request_id;
}
location /static/ {
alias /usr/share/nginx/backend-static/;
}
location / {
try_files $uri $uri/ /index.html;
}
}