# --- Captive Portal Trigger (Android/iOS/Windows) --- # Android / Google connectivity check location = /generate_204 { return 302 /; } location = /gen_204 { return 302 /; } # iOS/macOS captive check location = /hotspot-detect.html { return 200 'SuccessOK'; add_header Content-Type text/html; } location = /library/test/success.html { return 302 /; } # Windows NCSI check location = /ncsi.txt { return 302 /; } location = /connecttest.txt { return 302 /; } # Optional: Android “portal” URL location = /captiveportal { return 302 /; }