Löst: 403 Förbjuden "Du har inte behörighet att komma åt den här servern"
Många webbserverkonfigurationer har problem med filbehörigheter. Det gör ofta servern otillgänglig för besökare och manifesteras i form av ett “403 Förbjuden”-fel. Vanligtvis är felmeddelandet något i stil med “403 Förbjudet: du har inte behörighet att komma åt / på den här servern”. Det kan vara vad som helst i form av “Förbjudet: du har inte behörighet att komma åt den här resursen.”
“Liknande utmaningar kan uppstå på grund av avvikelser i konfigurationsfilerna för Apache och NGINX, samt på grund av en .htaccess-fil som inte fungerar som den ska. För att hantera dessa problem är det bra att följa dessa enkla felsökningssteg.
Vad orsakar Apache och NGINX 403 Forbidden-felet?
Förekomsten av ett 403-fel inom Apache- och NGINX-plattformar kan tillskrivas en rad olika faktorer. Ändå beror det vanligtvis på otillräckliga autentiseringsuppgifter som krävs för allmän tillgänglighet. Dessutom stöter WordPress-installationer ofta på detta hinder som en följd av en felaktig .htaccess-konfiguration.
Med Apache version 2.4 har dessutom vissa ändringar gjorts i direktivfunktionen som kan hindra allmänhetens åtkomst till webbplatser och potentiellt leda till ett “403 Förbjuden”-fel.
Så här åtgärdar du felet “403 Förbjudet” som användare
Om du stöter på felet “403 Förbjudet” när du använder en webbplattform bör du först försöka rensa webbläsarens cachade information och kasta alla lagrade cookies. Om du använder ett virtuellt privat nätverk (VPN) kan det dessutom vara nödvändigt att inaktivera det eftersom en potentiell felkonfiguration av VPN kan leda till detta problem.
För administratörer av en webbplats är det viktigt att vara medveten om att många Apache- och NGINX 403 Forbidden-fel beror på felaktiga filbehörighetsinställningar och bristfälliga konfigurationsfiler.
För att återställa funktionaliteten på din webbplats, följ de steg som beskrivs i den medföljande lösningsuppsättningen sekventiellt:
Fixa filbehörigheter för att undvika 403-felet
Många individer stöter på ett vanligt 403-fel som ett resultat av en frånvaro av lämplig auktorisering. I fall där webbplatsadministratören försummar att bevilja läsbehörigheter till externa enheter, kommer användarna sannolikt att uppleva otillgänglighet när de försöker hämta en viss resurs. Följaktligen utgör denna brist på tillstånd ofta den underliggande grunden för sådana fel.
Tänk dig ett scenario där man försöker hämta ett dokument med titeln “textbook.php” från en WordPress-webbplats, men får ett felmeddelande om att man inte har behörighet att komma åt “/textbook.php” på värdservern. Detta tyder på att filen existerar, men det verkar som om webbplatsadministratören har valt att begränsa åtkomsten till den för vanliga användare.
För att säkerställa att filer som är avsedda för allmän användning är korrekt åtkomliga, åligger det webbplatsadministratörer att kontrollera att de har de nödvändiga läsbehörigheterna. Om en person stöter på detta fel när han eller hon besöker en offentlig portal är det klokt att kontakta webbplatsadministratören för att rätta till situationen.
Att ändra filbehörigheter på ett sätt som garanterar korrekt åtkomst samtidigt som säkerheten upprätthålls kan innebära vissa utmaningar, särskilt när det gäller offentligt tillgängligt innehåll. Ett försiktigt tillvägagångssätt skulle innebära att man börjar med inga behörigheter alls och stegvis lägger till dem efter behov. I detta avseende rekommenderas i allmänhet att kataloger organiseras med en tillåtande inställning på 755 och enskilda filer med en mer restriktiv inställning på 644.
För att en enkel webbsida skall fungera korrekt är det nödvändigt att ge körrättigheter till den tillhörande katalogen, samtidigt som man ser till att enskilda filer har läsrättigheter. Man måste dock vara noga med att inte ge körbehörighet till själva filerna, eftersom illasinnade personer kan utnyttja denna sårbarhet för att infiltrera offentligt tillgängliga servrar på obehörigt sätt.
De respektive behörigheter som ges av värdena 4, 2 och 1 motsvarar åtkomstlägena Read, Write och Execute. När en katalog ges behörighetsläget 755 ger detta ägaren exklusiv behörighet över innehållet i katalogen, medan gruppmedlemmar och andra personer endast får läsa och köra innehållet. Å andra sidan ger behörighetsläget 644, som tillämpas på filer, innehavaren både läs- och skrivrättigheter, men begränsar alla andra till att bara läsa filens innehåll.
du har inte behörighet att komma åt den här resursen,” är det nödvändigt att se till att webroot-katalogen har lämpliga fil- och katalogbehörigheter. Ett sätt att göra det är att använda verktyget chmod
, som gör det möjligt att ställa in önskade behörigheter i ett specifikt format.Följande kommando kan till exempel användas för att ge läs, skriv och exekveringsbehörighet till ägaren av katalogen medan begränsad behörighet bibehålls för andra:bashsudo chown -R :755 /var/www/html/your-directory
sudo find /var/www/html -type d -exec chmod 755 {} \;
Ovanstående direktiv förutsätter att du använder standardmappen för din webbserver, som vanligtvis betecknas som standarddokumentroten av Apache. Om du använder en annan katalog, vänligen ändra katalognamnet i enlighet med detta. För att ändra behörighetsinställningarna för varje enskild fil till ‘644’, kör följande instruktion:
sudo find /var/www/html -type f -exec chmod 644 {} \;
Ovanstående instruktion använder verktyget find för att identifiera enskilda filer, och ändrar därefter deras behörigheter med chmod. Det avslutande curly bracket ‘{}’ omfattar de filvägar som find-kommandot ger, medan semikolon ‘;’ anger att den iterativa bearbetningen har avslutats.
Dessutom kan behörigheter för enskilda filer också ändras. Som exempel kan nämnas följande kommando som ändrar behörigheten för filen “textbook.php” i webbens rotkatalog så att den blir tillgänglig för allmänheten. Följaktligen kommer alla framtida försök att komma åt den här filen inte längre att visa felmeddelandet om obehörig åtkomst.
sudo chmod 644 /var/www/html/textbook.php
När du har ändrat de nödvändiga filbehörigheterna rekommenderar vi att du startar om antingen Apache- eller NGINX-webbservern för att säkerställa att alla konfigurationsändringar är helt implementerade och fungerar optimalt.
sudo systemctl restart apache2.service
sudo systemctl restart nginx
Ovanstående instruktioner underlättar omstart av både Apache- och NGINX-servrarna i ett Ubuntu-operativsystem. Det är dock viktigt att notera att vissa RPM-baserade distributioner, inklusive Red Hat Enterprise Linux (RHEL) eller CentOS, kan ha installerat Apache under namnet “httpd”. I dessa fall bör användaren använda följande alternativa kommando för smidig drift:
sudo systemctl restart httpd
Fixa .htaccess-filen för din WordPress-webbplats
.htaccess-filen fungerar som en decentraliserad konfigurationsfil som styr webbservern i att hantera justeringar baserade på specifika kataloger. I vissa fall kan den här filen skadas och orsaka ett behörighetsproblem, vilket resulterar i meddelandet “Du har inte de nödvändiga behörigheterna för att komma åt / på den här servern”.
Lyckligtvis kan du lösa ett 403-fel på din server genom att helt enkelt skapa en ny .htaccess-fil. För att skapa en .htaccess-fil för din webbplats, efter att ha loggat in på din WordPress-instrumentpanel, navigera till Inställningar > Permalänkar.
Du behöver inte göra några ytterligare justeringar. Klicka bara på knappen “Spara ändringar” så skapar WordPress automatiskt en uppdaterad .htaccess-fil åt dig.
När felmeddelandena “tillstånd nekas för åtkomst till denna resurs” eller “kan inte läsa htaccess-filen; nekad åtkomst av säkerhetsskäl” visas på en Apache-server rekommenderas det att skapa en ny .htaccess-fil som en möjlig lösning, särskilt för WordPress-webbplatser.
Konfigurera direktiv i Apache-konfigurationsfilen
Apache 2.4 använder en ny konfigurationsmodul som kallas “mod\_authz\_host”, som presenterar många innovativa direktiv för implementering. I huvudsak innehåller dessa direktiv följande riktlinjer:
⭐Require all granted:Allow all requests
⭐Require all denied:Deny all requests
Säkerhetspolicyn för värden “safe.com” föreskriver att alla inkommande förfrågningar måste härröra från denna domän för att få åtkomst. Detta garanterar webbserverns säkerhet och integritet genom att begränsa obehörig åtkomst och potentiell skadlig aktivitet.
Om du använder Apache 2.4 är det viktigt att se till att din primära konfigurationsfil innehåller det efterföljande kodsegmentet. För att kontrollera om detta avsnitt finns i din fil kan du använda en grundläggande textredigerare som Vim för inspektionsändamål. Om några brister identifieras, vänligen lägg till det nödvändiga innehållet i konfigurationsfilen. När du är klar kommer du att kunna
vim /etc/apache2/apache2.conf
Kod:
<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>
För en Red Hat Enterprise Linux (RHEL)-baserad webbserver är det absolut nödvändigt att säkerställa obegränsad åtkomst till katalogen /var/www
i Apache-konfigurationsfilen. Därför är det viktigt att filen httpd.conf
, som kan hittas på den angivna sökvägen, innehåller följande kodavsnitt:
vim /etc/httpd/conf/httpd.conf
Kod:
<Directory "/var/www">
AllowOverride None
Require all granted
</Directory>
För att starta om Apache-servern kan du använda någon av de ovan nämnda metoderna genom att utföra något av de angivna kommandona.
# for Ubuntu and Debian
sudo systemctl restart apache2.service
# for RHEL and CentOS
sudo systemctl restart httpd
Fixa serverbehörighetsfelet 403 Forbidden på Linux
Ett vanligt problem som många personer stöter på är svårigheter med att komma åt offentliga webbplatser eller felsöka personliga webbplatser. Som en första åtgärd rekommenderas att återställa filsystembehörigheterna för Apache- eller NGINX-webbservrar för att lösa problemet.Men om felet inte har åtgärdats trots att behörigheterna har justerats kan det vara effektivt att skapa en ny .htaccess-fil och kontrollera att dess direktiv är korrekt konfigurerade i serverns konfigurationsfil.
En uppsjö av ytterligare problem kan leda till ett jämförbart fel på serversidan, vilket kräver exceptionella kunskaper i att lösa Linux-serverkomplikationer för att återställa funktionaliteten.