INC-003: Our production server was logging into campus Wi-Fi every 40 seconds

The server reached the internet through the campus captive portal (agnigarh), the same login page students use. A shell script logged it in again and again, because each session lasted about 40...

severity: SEV-1 | kind: outage | date: 2026-03 | duration: Intermittent, through the Student Coordinator → Lead Student Coordinator handover | status: RESOLVED

Impact

CCD's on-campus server had no direct internet. Every time its network session dropped, the apps behind Nginx lost access to everything they depended on, and every CCD portal returned 502 Bad Gateway.

Summary

The server reached the internet through the campus captive portal (agnigarh), the same login page students use. A shell script logged it in again and again, because each session lasted about 40 seconds. Firewall policies kept changing, and whenever the loop broke, everything went down. The real fix wasn't code: emails, repeated visits to the network office and paperwork got the server direct internet access, and then the ports our portals needed.

BEFORE CCD server -> login script (every ~40s) -> campus captive portal -> internet x session drops -> apps lose DB / sign-in / email -> 502 on every portal

AFTER CCD server -> direct access + required outbound opened -> internet

fixed by emails, 5 trips to the network office and paperwork

Timeline

Root cause

A production server depended on a captive portal designed for people, not machines: 40-second sessions, re-authenticated by a script, on a network whose policies were changing.

What didn't work

Resolution

Action items

Lesson

_Some infrastructure problems aren't technical. The script kept us alive; the emails, the visits to the network office and the paperwork actually fixed it. And a server should never depend on a login meant for a human._

tags: networking, firewall, nginx, linux, campus-infra