The HTTP health poller marked anything >=300 as down. With subdomain routing the gateway's :<port> health path returns 302 (redirect to the dashboard subdomain), so castle-gateway showed "down" despite being healthy. Accept <400: a 2xx or 3xx means the server answered; only 4xx/5xx (or a connection error) is down.