# Paste into the listen 443 server {} for apps.f0xx.org (or lab acl0 vhost in ac-fe.conf). # Requires upstream ac_be_backend in http {} — defined at top of ac-fe.conf. # # When enabling on prod: comment out the old blocks in /etc/nginx/apps.conf for # /app/androidcast_project/crashes and /crashes/ (keep graphs/build/hub as-is until cutover). # --- Issues / ticket console (SPEC: /issues/ is canonical) --- location = /app/androidcast_project/issues { return 301 $scheme://$host/app/androidcast_project/issues/; } location ^~ /app/androidcast_project/issues/ { proxy_pass http://ac_be_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; client_max_body_size 16m; } # --- Legacy /crashes/ → /issues/ (SPEC §7) --- # Old app builds POST type:ra here; 301 drops body (HttpURLConnection → GET → 405). location = /app/androidcast_project/crashes/api/heartbeat.php { proxy_pass http://ac_be_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; client_max_body_size 16m; } location = /app/androidcast_project/crashes/api/upload.php { proxy_pass http://ac_be_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; client_max_body_size 16m; } location = /app/androidcast_project/crashes { return 301 $scheme://$host/app/androidcast_project/issues/; } location ^~ /app/androidcast_project/crashes/ { rewrite ^/app/androidcast_project/crashes/?(.*)$ $scheme://$host/app/androidcast_project/issues/$1 permanent; }