Šiame trumpame vadove bus aptarta dažna klaida dirbant su NGINX serveriais (403 uždrausta), jos priežastys ir kaip ją išspręsti.
Kas yra „Nginx 403“ klaida?
„Nginx 403 Forbidden“ klaida yra būsenos kodas, sugeneruotas ir rodomas vartotojui, kai klientas bando pasiekti žiniatinklio serverio dalį neturėdamas pakankamai leidimų. Pavyzdžiui, NGINX apsaugo katalogų sąrašą ir sukels 403 klaidą.
Serverio pusės „Nginx 403“ klaidos priežastys
Prieš pradėdami, gerai pažymėti, kad klaida gali kilti iš kliento pusės, o ne iš paties serverio. Pirmiausia spręsime serverio klaidas, o paskui kliento klaidas.
1 priežastis: neteisingas indekso failas
Pati pirmoji ir dažniausia „NGINX 403 Forbidden“ klaidos priežastis yra neteisinga indekso failo konfigūracija.
„Nginx“ konfigūracijos failas nurodo, kuriuos rodyklės failus įkelti ir kokia tvarka juos įkelti. Tačiau jei nurodyto indekso failų nėra kataloge, „Nginx“ grąžins 403 draudžiamą klaidą.
Pavyzdžiui, žemiau pateikta konfigūracija apibrėžia rodyklės failus ir tai, kaip jie turėtų būti įkelti
vietą/ {indeksas index.html index.htm index.html inde.php;
}
Vienas iš būdų išspręsti šią problemą yra pridėti konfigūracijos faile nurodytą indekso failą arba prieinamą indekso failą pridėti prie konfigūracijos failo.
Kitas būdas išspręsti šią problemą yra leisti „Nginx“ įtraukti katalogų sąrašą, jei indekso failas nepasiekiamas. Įjunkite šį modulį pridėdami šį įrašą prie konfigūracijos failo.
vietą/ {autoindeksas įjungtas;
autoindex_exact_size on;
}
PASTABA: Nerekomenduojame šio metodo viešai prieinamuose serveriuose.
Norėdami gauti daugiau informacijos apie tai, kaip pateikti statinį turinį, apsvarstykite toliau pateiktą „Nginx“ dokumentacijos šaltinį:
https://docs.nginx.com/nginx/admin-guide/web-server/serving-static-content/
2 priežastis: neteisingai nustatyti leidimai
„Nginx 403“ uždrausta klaida taip pat gali atsirasti dėl netinkamai nustatytų leidimų failų ir katalogų. Kad „Nginx“ galėtų sėkmingai serveriui pateikti konkretų failą ir išteklius, „Nginx“ turi turėti RWX - skaitymo, rašymo ir vykdymo - teises visame kelyje.
Norėdami išspręsti šią klaidą, pakeiskite katalogų leidimą į 755, o failų teises į 644. Įsitikinkite, kad failai priklauso vartotojui, vykdančiam „Nginx“ procesą. Pavyzdžiui, nustatykite vartotoją į www-data:
sudo šaukimas -Rwww-duomenys: www-duomenys*Galiausiai nustatykite katalogo ir failo leidimus kaip:
sudo chmod 755 {tau}sudo chmod 644 {failus}
Kliento klaidos priežastis 403
Kaip jau minėta, kitu metu 403 klaida gali būti vartotojo sukelta, o ne serverio pusėje. Norėdami išspręsti tokias problemas kliento pusėje, atlikite toliau nurodytas operacijas.
- Įsitikinkite, kad pasiekiate tinkamą žiniatinklio vietą
- Išvalyti naršyklės talpyklą
- Įsitikinkite, kad užkarda ar tarpinis serveris leidžia pasiekti žiniatinklio išteklius.
Išvada
Šiame trumpame vadove buvo aptartos NGIX 403 uždraustos klaidos priežastys ir įvairūs būdai ją ištaisyti. Prieš bandant bet kokius trikčių šalinimo metodus, gerai pažvelgti į serverio žurnalus.