"Prepovedano - Nimate dovoljenja za dostop/na tem strežniku" Napaka


Spletni strežnik Apache je zaradi svoje stabilnosti in zanesljivosti eden najbolj priljubljenih in najpogosteje uporabljenih spletnih strežnikov odprtega vira. Spletni strežnik ima velik trg, zlasti na platformah za spletno gostovanje.

Kakor koli že, lahko po nastavitvi spletnega mesta v brskalniku dobite napako »Prepovedano - Nimate dovoljenja za dostop/na tem strežniku«. To je precej pogosta napaka in dober del uporabnikov jo je doživel med testiranjem svojega spletnega mesta. Torej, kaj je to napaka?

Demistifikacija prepovedane napake

Apacheova „Prepovedana napaka“, ki se imenuje tudi prepovedana napaka 403, je napaka, ki se prikaže na spletni strani, ko poskušate dostopati do omejenega ali prepovedanega spletnega mesta. Običajno se brizga v brskalnik, kot je prikazano.

Poleg tega se lahko napaka v brskalniku pokaže na več načinov, kot je navedeno spodaj:

  • Napaka HTTP 403 - prepovedano
  • Prepovedano: Nimate dovoljenja za dostop do [imenika] na tem strežniku
  • 403 prepovedano
  • Dostop zavrnjen Nimate dovoljenja za dostop
  • 403 prepovedana zahteva, prepovedana z upravnimi pravili

Kaj torej povzroča takšne napake?

Do "Prepovedane napake 403" pride zaradi naslednjih glavnih razlogov:

Ta napaka se lahko sproži zaradi napačnih dovoljenj za datoteke/mape v imeniku webroot. Če privzeta dovoljenja za datoteke niso prilagojena, da bi uporabnikom omogočila dostop do datotek spletnega mesta, je verjetnost, da se ta napaka pojavi v spletnem brskalniku, velika.

To napako lahko pripišemo tudi napačni konfiguraciji ene od konfiguracijskih datotek Apache. Lahko gre za napačen parameter, ki je bil vključen ali manjkajoče direktive v konfiguracijski datoteki.

Odpravljanje '403 prepovedane napake'

Če ste naleteli na to napako, je tukaj nekaj korakov, ki jih lahko odpravite.

Znano je, da napačna dovoljenja datotek in lastništvo imenika omejujejo dostop do datotek spletnih mest. Torej, najprej poskrbite, da boste dovoljenja za datoteke rekurzivno dodelili imeniku webroot, kot je prikazano. Imenik webroot mora imeti vedno dovoljenja EXECUTE, datoteka index.html pa mora imeti dovoljenja READ.

$ sudo chmod -R 775 /path/to/webroot/directory

Poleg tega prilagodite lastništvo imenika, kot je prikazano:

$ sudo chown -R user:group /path/to/webroot/directory

Kjer je uporabnik običajni prijavljeni uporabnik in je skupina www-data ali apache .

Na koncu ponovno naložite ali znova zaženite spletni strežnik Apache, da bodo spremembe začele veljati.

$ sudo systemctl restart apache2

Če težave ne odpravite, nadaljujte z naslednjim korakom:

V glavni konfiguracijski datoteki Apache /etc/apache2/apache2.conf preverite, ali imate ta blok kode:

<Directory />
        Options FollowSymLinks
        AllowOverride None
        Require all denied
</Directory>

<Directory /usr/share>
        AllowOverride None
        Require all granted
</Directory>

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

Shranite in zapustite, nato pa znova zaženite Apache.

Če uporabljate Apache v sistemih RHEL/CentOS, poskrbite, da boste sprostili dostop do imenika /var/www v glavni /etc/httpd/conf/httpd.conf Konfiguracijska datoteka Apache.

<Directory "/var/www">
    AllowOverride None
    Require all granted
</Directory>

Nato shranite vse spremembe in znova naložite Apache.

Če se po poskusu vseh teh korakov še vedno pojavlja napaka, preverite konfiguracijo datotek navideznega gostitelja. Imamo podroben članek o tem, kako lahko v CentOS 8 konfigurirate datoteko navideznega gostitelja Apache.

Upam, da so vam navedeni koraki pomagali odpraviti napako 403.