403 Forbidden -virhe tarkoittaa, että palvelin vastaanotti pyynnön, ymmärsi sen ja kieltäytyi vastaamasta. Toisin kuin 401:n kohdalla, kirjautuminen ei välttämättä auta: palvelin sanoo, ettei tämä asiakasohjelma tästä osoitteesta ja näillä oikeuksilla saa tätä resurssia. Syy on lähes aina sääntö, ei kaatuminen: tiedosto-oikeudet, puuttuva index-tiedosto, palvelimen asetusten estosääntö, palomuuri tai bottisuojaus, IP- tai maaesto tai tili ilman oikeaa roolia. Sivuston ylläpitäjä löytää säännön virhelokista tai palomuurin tapahtumalokista; kävijä voi useimmiten muuttaa vain sitä, mitä lähettää.
403 vs. 401 vs. 404
KoodiMitä palvelin sanooMikä auttaa401 UnauthorizedKuka olet? Lähetä tunnistetiedot.Kirjautuminen tai kelvollinen API-avain tai -tunniste403 ForbiddenTiedän, mitä haluat, etkä saa sitä.Eri oikeudet, osoite tai pyyntö404 Not FoundTäällä ei ole mitään.Oikea osoite
Palvelimet eivät aina noudata oppikirjaa. Jotkin vastaavat 403:n sijaan 404, jottei yksityisen sivun olemassaolo paljastu, ja jotkin vastaavat 403 puuttuviin tiedostoihin: esimerkiksi yksityinen tallennussäilö voi vastata 403 objektiin, jota ei ole olemassa, kun asiakasohjelmalla ei ole oikeutta listata säilön sisältöä. Loput löytyvät HTTP-tilakoodien hakuteoksesta.
Yleiset syyt
Tiedostojen ja kansioiden oikeudet. Verkkopalvelimen käyttäjä ei voi lukea tiedostoa tai avata kansiota, usein latauksen tai julkaisun jälkeen, joka kopioi tiedostot toisena käyttäjänä.
Ei index-tiedostoa. Pyyntö kansioon, jossa ei ole index.html- tai index.php-tiedostoa, vastaa 403, jos hakemistolistaus on palvelimella pois päältä. Epäonnistunut julkaisu, joka jätti kansion tyhjäksi, tekee saman.
Estosäännöt. nginxin deny all, Apachen Require all denied tai .htaccess-tiedoston sääntö, joka estää polun, tiedostotyypin tai user agentin.
Palomuuri tai bottisuojaus. WAF, CDN:n bottisuojaus tai tietoturvalisäosa päättelee pyynnön näyttävän automaattiselta tai haitalliselta ja estää sen, joskus haastesivun kanssa.
IP- ja maaestot. Kävijän osoite, verkko tai maa on estolistalla, tai sivu on rajattu toimiston verkkoon tai VPN:ään.
Puuttuvat oikeudet. Kävijä on kirjautunut, mutta hänen roolinsa ei salli sivua, tai API-avaimelta puuttuu päätepisteen vaatima käyttöoikeus.
Vanhentuneet tai virheelliset allekirjoitetut linkit. Latauslinkit, joissa on allekirjoitus tai vanhenemisaika, vastaavat 403, kun ne vanhenevat.
Hotlink-suojaus. Kuvia tai tiedostoja, joita pyydetään toiselta sivustolta tai ilman odotettua Referer-otsaketta, ei anneta.
Mitä kävijä voi kokeilla
Tarkista osoite. Linkki, joka päättyy kansioon eikä sivuun, tai väärin kirjoitettu polku voi osua kansioon, jota palvelin ei listaa.
Kirjaudu sisään tai kirjaudu oikealla tilillä. Jotkin sivustot näyttävät 403:n kirjautumattomille kävijöille tai tileille, joilla ei ole pääsyä.
Tyhjennä sivuston evästeet ja lataa sivu uudelleen. Vanha istunto tai vanhentunut haaste-eväste voi saada palomuurin torjumaan sinut yhä uudelleen.
Vaihda verkkoa. Kytke VPN tai välityspalvelin pois päältä tai päälle, tai kokeile mobiilidataa. Jaettuja ja datakeskusten osoitteita estetään useammin kuin kotiliittymiä.
Poista laajennukset käytöstä sivustolla. Jotkin yksityisyyslaajennukset muuttavat otsakkeita tavalla, joka laukaisee palomuurin.
Kerro sivuston ylläpitäjälle kellonaika ja mahdollinen virhesivulla näkyvä viitenumero. Sen avulla ylläpitäjä löytää täsmälleen oikean säännön.
Näin sivuston ylläpitäjä löytää ja korjaa syyn
Selvitä ensin, kuka vastasi. Katso virhesivua ja vastausotsakkeita: CDN tai palomuuri yleensä kertoo itsestään omalla tyylillään tehdyllä sivulla, Server-otsakkeella tai pyyntötunnisteella. Jos vastaaja on oma verkkopalvelimesi, sen virheloki kertoo syyn. Jos se on CDN tai WAF, syy löytyy sen tapahtumalokista.
Oikeudet ja index-tiedostot
Linux-palvelimilla kansiot tarvitsevat yleensä oikeudet 755 ja tiedostot 644, ja niiden omistajana on käyttäjä, jona verkkopalvelin tai PHP toimii. Tarkista ennen kuin muutat mitään, äläkä koskaan korjaa 403:a oikeuksilla 777, jotka antavat jokaiselle palvelimen käyttäjälle kirjoitusoikeuden sivustoosi:
ls -la /var/www/example.com/public
find /var/www/example.com/public -type d -exec chmod 755 {} +
find /var/www/example.com/public -type f -exec chmod 644 {} +
nginx kirjaa lokiin “directory index of … is forbidden”, kun kansiossa ei ole index-tiedostoa; Apache kirjaa, ettei se löydä index-tiedostoa ja hakemistolistaus on pois päältä. Tarkista, että julkaisu vei tiedostot sinne, minne palvelimen document root osoittaa.
Palvelimen säännöt
nginx kirjaa deny-säännöstä “access forbidden by rule” ja Apache Require-säännöstä “client denied by server configuration”. Etsi vastaava sääntö asetuksista ja jokaisesta polun varrella olevasta .htaccess-tiedostosta. WordPressissä kestolinkkiasetusten tallentaminen kirjoittaa .htaccess-tiedoston ydinosan uudelleen, ja tietoturvalisäosat lisäävät omia estojaan sinne ja omiin asetuksiinsa.
Palomuurit, CDN:t ja tietoturvalisäosat
Etsi estetty pyyntö tapahtumalokista ajan, osoitteen tai pyyntötunnisteen perusteella, katso mikä sääntö osui ja päätä, onko sääntö väärä vai oliko pyyntö todella ei-toivottu. Lisää poikkeuksia tietyille osoitteille tai poluille sen sijaan, että poistaisit säännön koko sivustolta. Testaa palomuurimuutoksen jälkeen toimiston ulkopuolisesta verkosta, koska oma osoitteesi voi olla sallittujen listalla.
Miksi valvonta saa 403:n, vaikka selain ei saa
Tavallinen tilanne: sivusto toimii sinulle, mutta käytettävyyden valvonta raportoi 403:n. Yleensä mikään ei ole rikki. Jokin sivuston edessä pitää tarkistusta bottina, koska se on botti:
Bottisuojaus. CDN:t ja WAF:t haastavat asiakasohjelmat, jotka eivät suorita JavaScriptiä tai näyttävät automaattisilta. Selain ratkaisee haasteen; valvonta ei pysty siihen, joten se saa 403:n tai haastesivun.
Datakeskusten osoitteet. Valvonta tarkistaa palvelimilta, ja jotkin säännöt estävät hosting-verkot oletuksena.
Maaestot. Sivusto, joka sallii vain kotimaansa, estää ulkomailta tarkistavan valvonnan.
Pyyntömääräsäännöt. Jotkin palomuurit vastaavat 429:n sijaan 403, kun asiakasohjelma tekee liikaa pyyntöjä.
Ratkaisu on lisätä valvonta sallittujen listalle, mieluiten sen IP-osoitteiden perusteella, koska kuka tahansa voi kopioida user agentin. Älä ratkaise ongelmaa hyväksymällä 403:a toimivaksi koko sivustolle: silloin todellinen kävijöidesi esto jää huomaamatta. Jos sivun täytyy todella pysyä suojauksen takana, valvo sen ulkopuolella olevaa health check -päätepistettä. Opas turhien hälytysten vähentämiseen käsittelee muita syitä hälytyksille, jotka eivät ole katkoja.
403-virheet ja Uptimecheck
Uptimecheckin käytettävyyden valvonnan HTTP(S)-valvonta pitää oletuksena tilakoodeja 200–399 toimivina, joten 403 lasketaan katkoksi. Toinen tarkistus vahvistaa sen ennen hälytystä, ja häiriö kertoo, mikä vastasi: kun 403 tai haastesivu tulee Cloudflarelta, Sucurilta, Impervalta, Akamailta, DataDomelta, Vercelilta, Wordfencelta tai AWS WAF:lta, se nimeää palvelun ja kertoo, mitä siellä pitää sallia. Verkkosivustojen tarkistukset tehdään Tukholmasta, Ruotsista, user agentilla, joka sisältää sanan “Uptimecheck”. Uptimecheckin salliminen palomuurissa listaa osoitteemme valmiine sääntöineen Cloudflarelle, WordPressin tietoturvalisäosille ja nginxille, ja miksi valvonta voi näyttää katkoa, vaikka sivusto toimii käy läpi muut syyt.
Haluatko tietää, vastaako sivusto ylipäätään? Ilmainen Is it down? -tarkistus pitää kaikkia alle 500:n vastauksia, myös 403:a, toimivina: palvelin vastasi, vaikka kieltäytyikin.
Erota estetty tarkistus todellisesta katkosta. Kokeile Uptimecheckiä ilmaiseksi 14 päivää, luottokorttia ei tarvita.