# URL Shortener — nginx location blocks # Drop these into the existing server {} block. The Rust binary serves both # the API and its embedded, byte-identical frontend on 127.0.0.1:18082. location = /s { return 301 /s/; } # Preserve the existing no-store policy for the HTML entry point. location = /s/ { proxy_pass http://127.0.0.1:18082; 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_hide_header Cache-Control; add_header Cache-Control "no-store"; } # Preserve the existing revalidation policy for CSS, JavaScript, and fonts. location ^~ /s/static/ { proxy_pass http://127.0.0.1:18082; 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_hide_header Cache-Control; add_header Cache-Control "no-cache"; } # API calls and short-code redirects. location /s/ { proxy_pass http://127.0.0.1:18082; 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; }