Het is vrij irritant wanneer je een foutpagina tegenkomt bij het bezoeken van een WordPress site, of dat nu je eigen site is of die van iemand anders. Net als met zoveel andere HTTP responscodes, is waarschijnlijk het meest vervelende aspect van een 401 fout dat het vrijwel geen informatie biedt voor het diagnosticeren en oplossen van het probleem.

De 401 kan in elke browser optreden. Het is dus een veelvoorkomend probleem waar veel mensen tegenaan lopen. In de meeste gevallen is dit probleem gelukkig relatief eenvoudig en gemakkelijk op te lossen.

In dit bericht leggen we uit wat 401 foutmeldingen zijn en waarom ze optreden. Vervolgens introduceren we vijf methodes die je kan volgen om ze op te lossen.

Aan de slag!

Wat is de 401 foutcode?

De Internet Engineering Task Force (IETF) definieert de fout 401 Unauthorized als:

De 401 (Unauthorized) statuscode geeft aan dat het verzoek niet is uitgevoerd omdat geldige authenticatiegegevens voor de doelbron ontbreken. De server die een 401 antwoord genereert MOET een WWW-Authenticate headerveld sturen dat tenminste één challenge bevat die van toepassing is op de doelbron.

Een inleiding tot de 401 foutcode

HTTP 400 statuscodes kom je tegen wanneer er een probleem is met het indienen van een verzoek. Als we specifiek kijken naar de 401 fout, dan treedt deze op wanneer het de browser is die je de toegang weigert tot de pagina die je probeert te bezoeken.

Als gevolg hiervan laadt de browser een foutmelding, in plaats van de webpagina. 401 fouten kunnen binnen elke browser optreden, dus de melding die weergegeven wordt, kan verschillen.

In Chrome of Edge zie je bijvoorbeeld een papieren icoon samen met een kort bericht dat je vertelt dat de betreffende pagina niet werkt. In deze browsers zie je onderin de zin “HTTP Error 401” met instructies om contact op te nemen met de eigenaar van de site als het probleem aanhoudt:

De 401 fout in Chrome
De 401 fout in Chrome

In andere browsers krijg je mogelijk een iets minder vriendelijke waarschuwing, vaak een lege pagina met het bericht “401 Authorization Required”:

Nginx 401 Authorization Required foutbericht
Nginx 401 Authorization Required foutbericht

Andere variaties zijn:

  • “HTTP 401 Error – Unauthorized”
  • “401 Unauthorized”
  • “Access Denied”

Deze fouten doen zich voor op websites die een login vereisen om toegang te krijgen. In de meeste gevallen betekent de foutmelding dat er iets mis is met de inloggegevens of het vermogen van de browser om ze als geldig te lezen.

De fout is te vergelijken met de HTTP 403 Forbidden fout, in die zin dat toegang is niet is toegestaan voor de gebruiker. In tegenstelling tot de 403 fout geeft het 401 foutbericht echter aan dat het authenticatieproces is mislukt.

De code die wordt verzonden via de WWW-Authenticate header, die verantwoordelijk is voor het identificeren van de authenticatiemethode die wordt gebruikt voor het verlenen van toegang tot een webpagina of bron.

Foutcode HTTP 401 Unauthorized Error
Fouttype Gewoonlijk een fout aan clientzijde.
Foutvariaties 401 Authorization Required
401 Unauthorized
HTTP 401 Error – Unauthorized
Access Denied
Oorzaken fout Verouderde browsercache en cookies
Incompatibiliteit met plugins
Onjuiste URL of verouderde link

De oorzaak van een 401 fout

Als je een 4XX foutcode tegenkomt, is het goed om te weten dat je te maken hebt met een probleem aan de kant van de client (of browser) in het Engels ook wel een client-side error genoemd. Hoewel het probleem zich voordoet in je browser, betekent dit niet dat de browser ook altijd de boosdoener is. We leggen dit verderop uit.

401 fouten treden op in zogenaamde beperkte bronnen, restricted resources, zoals met een wachtwoord beveiligde pagina’s van je WordPress site. Het dan ook veilig om aan te nemen dat de oorzaak van het probleem iets te maken heeft met de opgegeven inloggegevens voor de authenticatie.

Verouderde browsercache en cookies

Een van de meest voorkomende redenen van de 401 fout is dat de cache en cookies van je browser verouderd zijn, wat zorgt dat de autorisatie niet kan worden voltooid. Als je browser niet de juiste verificatiegegevens gebruikt (of helemaal geen gegevens), zal de server het verzoek weigeren.

Incompatibiliteit met een plugin

Een andere mogelijke oorzaak van de fout is een incompatibiliteit met een plugin. Een firewall of beveiligingsplugin kan je inlogpoging bijvoorbeeld als verdachte activiteit beschouwen en een 401 fout teruggeven om de pagina te beschermen.

Incorrecte URL of verouderde link

Ook is het mogelijk dat je de oorzaak van het probleem in iets onschuldiger moet zoeken. Denk hierbij aan een onjuist getypte URL of een verouderde link.

Hoe kan de 401 fout hersteld worden?

Nu je wat meer weet over de oorzaken van de 401 fout, is het tijd om te bespreken hoe je hem oplost.

Laten we eens kijken naar vijf methoden die je kan gebruiken:

1. Zoek naar fouten in de URL

We beginnen met de gemakkelijkste mogelijke oplossing: zorg dat je de juiste URL hebt ingevoerd. Dit klinkt misschien wat dom, maar 401 fouten treden vaak op door het niet juist invoeren van de URL.

Een andere mogelijkheid is dat de link die je gebruikte om de desbetreffende pagina te bezoeken, naar de verkeerde URL verwijst. De link kan bijvoorbeeld verouderd zijn of naar een pagina leiden die niet meer bestaat (en er zijn geen redirects geplaatst).

Alleen daarom al is het de moeite waard om even te checken of de juiste URL wordt gebruikt. Als je de URL zelf hebt ingevoerd, controleer dan of je alles correct hebt gespeld. Als je een op een link hebt geklikt, kijk dan goed of deze naar de juiste pagina verwijst (of probeer de pagina rechtstreeks in de browser te openen).

2. Wis de cache van je browser

De cache van je browser is ontworpen om jouw browse-ervaring te verbeteren door de laadtijden van pagina’s te verkorten. Helaas kan deze soms ook voor ongewenste onderbrekingen zorgen.

Zoals we eerder al aangaven, zijn onjuiste/verouderde cachegegevens of cookies een van de meest voorkomende oorzaken van de 401 fout. Als je dus geen fouten hebt aangetroffen in de URL van de pagina, is de volgende stap om de cache van je browser te wissen.

Hiermee verwijder je alle ongeldige informatie die lokaal in je browser is opgeslagen, die mogelijk het authenticatieproces onderbreken. Ook de cookies in je browser kunnen verificatiegegevens bevatten die vernieuwd moeten worden.

Als je een Google Chrome gebruiker bent, kan je dit doen door op het menu-icoon te klikken in de rechterbovenhoek van je browser en vervolgens naar Settings te gaan. Klik onder de sectie Privacy and security op Clear browsing data:

De sectie Clear browsing date in Google Chrome
De sectie Clear browsing date in Google Chrome

Er wordt nu een nieuw venster geopend. Zorg dat je alle drie vakjes hebt geselecteerd in het tabblad Basic en klik vervolgens Clear data:

De pagina om browsergegevens te wissen in Chrome
De pagina om browsergegevens te wissen in Chrome

In andere browsers ziet het proces er wat anders uit. In Mozilla Firefox klik je bijvoorbeeld op het bibliotheekicoon in de rechterbovenhoek van de browser, gevolgd door History > Clear Recent History:

De optie 'Clear recent history' in de instellingen van Firefox
De optie ‘Clear recent history’ in de instellingen van Firefox

In het volgende paneel selecteer je in het dropdown-menu bovenin Everything. Zorg ervoor dat “Cache” is geselecteerd en klik op de Clear Now knop:

Het paneel
Het paneel “Clear History” in Firefox

Als je een andere browser gebruikt, raadpleeg dan deze handleiding voor het wissen van de cache.

3. Flush je DNS

Een andere methode die je kan proberen om de 401 fout op te lossen is het flushen van je Domain Name Server (DNS). Hoewel dit een minder waarschijnlijke oorzaak is, kan het een mogelijke oorzaak zijn, dus het is altijd slim om ernaar te kijken wanneer de eerste twee oplossingen niet werken.

Om dit in Windows te doen, klik je op de Start knop en type je cmd in de zoekbalk. Druk op Enter. Hiermee open je de opdrachtprompt. Kopieer en plak de opdracht ipconfig/flushdns en druk nogmaals op Enter:

De opdrachtpromptinterface in Windows
De opdrachtpromptinterface in Windows

Op een Mac kan je dit doen door te gaan naar Finder > Applications > Utilities > Terminal:

De applicatie Terminal op Mac
De applicatie Terminal op Mac

Voer de opdrachtregel sudo killal -HUP mDNSResponder in en druk op Enter. Je kan nu proberen de pagina die je bezocht te vernieuwen om te zien of de 401 fout is opgelost.

4. Deactiveer tijdelijk je WordPress plugins

Het kan zijn dat je browser de 401 fout helemaal niet veroorzaakt. Als je problemen ondervindt bij het openen van je WordPress site, dan kunnen deze mogelijk worden veroorzaakt door een of meerdere plugins.

Sommige plugins, met name op beveiliging gerichte plugins, zijn zo ingesteld dat ze een 401 foutmelding laten zien wanneer ze verdacht inloggedrag tegenkomen die op een aanval kunnen duiden. Ook is het mogelijk dat er simpelweg een compatibiliteitsprobleem is opgetreden. Het is daarom een goed idee om al je WordPress plugins te deactiveren en te kijken of dat het probleem oplost.

Je kan al je plugins tegelijkertijd deactiveren door naar Plugins > Geïnstalleerde plugins te gaan. Vink het vakje bovenaan aan om ze allemaal te selecteren. Onder het dropdown-menu Bulkacties selecteer je Deactiveren en klik je vervolgens op de knop Toepassen:

De instellingen voor het deactiveren van plugins in het WordPress dashboard
De instellingen voor het deactiveren van plugins in het WordPress dashboard

Probeer daarna de pagina opnieuw te laden om te zien of je de 401 foutmelding nog steeds tegenkomt of dat je het probleem hebt opgelost. Als het probleem nu weg is, kan je de plugins één voor één handmatig activeren, om te kijken welke het probleem veroorzaakt.

Je kan vervolgens de plugin verwijderen, vervangen door een nieuwe of contact opnemen met de ontwikkelaar voor hulp.

5. Check de headerrespons van WWW-Authenticate

Als het probleem nog steeds niet opgelost is, dan is de kans groot dat het probleem zich aan de kant van de server bevindt. Dit betekent dat we naar een iets geavanceerdere optie moeten zoeken.

Zoals we eerder zagen, wordt de 401 respons verstuurd via de WWW-Authenticate header, die wordt weergegeven als “WWW-Authenticate: <type> realm=<realm>”. De header bevat “challenges”, oftewel strings met data die aangeven welk type authenticatie is vereist om toegang te verlenen.

Simpel gezegd wil je controleren of de headerrespons wel is verzonden, en meer in het bijzonder welk authenticatieschema is gebruikt. Op zijn minst helpt dit je om de oorzaak van het probleem te achterhalen en je een stap dichter bij een oplossing te brengen.

Ga hiervoor naar de webpagina met de 401 foutmelding en open de ontwikkelaarsconsole in Chrome. Om de ontwikkelaarsconsole te openen klik je met de rechtermuisknop op de pagina en selecteer je Inspect of gebruik je Ctrl+Shift+J.

Klik vervolgens op het tabblad Network en laad de pagina opnieuw. Als het goed is zie je hier een lange lijst met bronnen. Selecteer de Status header om de tabellen de sorteren en zoek de 401 statuscode:

De 401 statuscus in de ontwikkelaarsconsole in Chrome
De 401 statuscus in de ontwikkelaarsconsole in Chrome

Selecteer de entry en klik op het tabblad Headers. Onder Response Headers zoek je de WWW-Authenticate header:

De sectie Response Headers van de ontwikkelaarsconsole
De sectie Response Headers van de ontwikkelaarsconsole

De informatie die je in de responsheader vindt, en dan met name de authenticatieschema’s, kan je meer informatie geven over wat er precies gebeurt en je hierbij naar een oplossing wijzen. Het kan je helpen om te begrijpen welke type authenticatie de server verwacht.

In het bovenstaande voorbeeld kunnen we bijvoorbeeld zien dat het authenticatieschema “Basic” is. Dit betekent dat het authenticatieverzoek alleen een ID en wachtwoord vereist. Voor meer gedetailleerde informatie en instructies over hoe je deze informatie gebruikt, raden we je aan om het HTTP Authentication Scheme Registry te raadplegen.

Samenvatting

Wanneer je browser en server problemen hebben met het communiceren of verifiëren van verzoeken, dan kan het voorkomen dat de 401 foutmelding optreedt. Hoewel dit probleem erg irritant kan zijn, is dit bericht meestal tijdelijk en kan het redelijk eenvoudig worden hersteld.

Hier zijn vijf methodes die je kan gebruiken om de 401 fout op te lossen:

  1. Zoek naar fouten in de URL.
  2. Wis de cache van je browser.
  3. Flush je DNS.
  4. Deactiveer tijdelijk je WordPress plugins.
  5. Check de headerrespons van WWW-Authenticate.