Klient musi się zalogować, aby uzyskać dostęp do sieci.
Kiedy go używać
Portale logowania (captive portal) w sieciach Wi-Fi hoteli i lotnisk.
Typowe przyczyny i rozwiązania
511 jest przeznaczony dla captive portali: Wi-Fi w hotelu, na lotnisku czy w kawiarni, które przechwytuje ruch, dopóki się nie zalogujesz lub nie zaakceptujesz regulaminu. Portal powinien odpowiedzieć 511 z linkiem do logowania, zamiast podszywać się pod stronę, o którą prosisz. Systemy operacyjne wykrywają portale, pobierając znane URL-e, takie jak captive.apple.com lub connectivitycheck.gstatic.com/generate_204, i otwierają okno logowania, gdy odpowiedź jest nieoczekiwana.
HTTPS nie da się czysto przechwycić, więc w sieciach z portalem zwykle zobaczysz błędy certyfikatu zamiast 511; otwarcie zwykłej strony http://, np. neverssl.com, wywołuje stronę logowania. Cache nigdy nie może zapisać 511, a aplikacje powinny traktować go jako problem z siecią, a nie błąd API. Twoje własne serwery źródłowe nigdy nie powinny go wysyłać.
Błąd serwera (5xx)
Kody 5xx to błędy serwera: żądanie może być poprawne, ale zawiódł serwer lub coś za nim. Warto ustawić na nie alerty.
Jak to wygląda
HTTP/1.1 511 Network Authentication RequiredJak go wysłać
| Node.js / Express | res.status(511).end() |
|---|---|
| Python / Flask | return '', 511 |
| nginx | return 511; |
Jak go sprawdzić
curl -s -o /dev/null -w "%{http_code}\n" https://example.com/