Решено: Нямате разрешение за достъп на този сървър

Решено: Нямате разрешение за достъп на този сървър

Много конфигурации на уеб сървъри се сблъскват с проблеми, свързани с разрешенията за файлове. Той често прави сървъра недостъпен за посетители и се проявява под формата на грешка 403. Обикновено съобщението за грешка е нещо като „Забранено: нямате разрешение за достъп / на този сървър“. Тази грешка може също да ограничи достъпа до други маршрути на сървъра, като например /директория .



Подобни проблеми могат да възникнат и поради проблеми в конфигурационния файл на Apache или дори поради повреден .htaccess файл. Това ръководство предоставя стъпка по стъпка решения на всички тези проблеми. Опитайте ги един по един, като започнете от първото решение.

Какво причинява тази грешка в Apache 403?

Това е доста често срещана грешка 403 в края на Apache, причинена от безброй проблеми. В повечето случаи обаче тази грешка възниква поради липсата на подходящи разрешения, необходими за публичен достъп до даден сайт. Освен това, сайтовете на WordPress често се сблъскват с този проблем поради лошо .htaccess файл.





Освен това, след Apache версия 2.4, имаше някои промени в начина на работа на директивите. Това също може да ограничи публичния достъп до вашия уебсайт и да доведе до забранена грешка 403.

1. Поправете разрешенията за файлове, за да избегнете грешката

Повечето хора се сблъскват с тази често срещана грешка 403 поради липсата на подходящи разрешения. Ако администраторът на сайта забрави да разреши достъп за четене към външния свят, тогава крайните потребители няма да имат достъп до искания ресурс. Това често е основната причина за тази грешка.



Ако вместо това сте администратор на сайт, трябва да се уверите, че файловете, предназначени за обществен достъп, имат подходящи разрешения за четене. В противен случай, ако сте изправени пред тази грешка на публичен сайт, уведомете администратора на сайта, за да разрешите този проблем.

Задаването на правилните разрешения за публично достъпни файлове може да бъде малко сложно. Ето защо администраторите трябва да започнат с абсолютно нулеви разрешения и да ги добавят според нуждите. Добра идея е да имате папки с режим на разрешение на 755 и файлове с 644 .

най -добрият бюджет всичко в един принтер

За обикновен уебсайт директориите трябва да имат изпълни разрешение и файловете трябва да имат Прочети разрешение. Уверете се, че не давате разрешение за изпълнение на файлове. Зловредните потребители могат да получат нежелан достъп до публични сървъри чрез такива файлове. Режимът на разрешение за Прочети , Пиши и Изпълни достъпът е съответно 4, 2 и 1.

Така че режимът на разрешение от 755 за директории означава, че само собственикът има пълен достъп до съдържанието на директорията. Потребителите на групата и други могат само да четат и изпълняват. По подобен начин режимът на разрешение 644 за файлове осигурява достъп за четене и запис на собственика и достъп само за четене за всички останали.

За да разрешите тази грешка, коригирайте разрешенията за директорията на уеброта. Командата по -долу използва помощната програма chmod за да зададете разрешенията за директорията на 755.

sudo find /var/www/html -type d -exec chmod 755 {} ;

Тази команда предполага, че използвате основния документ на Apache за задържане на вашия уебсайт. Ако използвате друга директория, заменете съответно името на директорията. Използвайте командата по -долу, за да промените всички разрешения за файлове на 644.

sudo find /var/www/html -type f -exec chmod 644 {} ;

Горната команда използва помощната програма find за локализиране на отделни файлове и задава правилното разрешение чрез chmod. Краят {} съдържа файловите пътища, върнати от командата find , и точка и запетая ( ; ) маркира края на итерацията. Накрая рестартирайте Apache сървъра, за да могат промените ви да влязат в сила.

sudo systemctl restart apache2.service

Тази команда рестартира Apache сървъра в Ubuntu. Много дистрибуции, базирани на RPM, като RHEL или CentOS, инсталират Apache като httpd . За такива системи вместо това използвайте следната команда:

sudo systemctl restart httpd

2. Поправете .htaccess файла за вашия уебсайт WordPress

The .htaccess file служи като разпределен конфигурационен файл и казва на Apache как да се справя с неща като промени в конфигурацията за директория. Понякога този файл може да се повреди и може да доведе до грешка „нямате разрешение за достъп на този сървър“.

За щастие, ако това е причината за грешката 403 на вашия сървър, можете лесно да поправите това, като създадете нов .htaccess файл. За да създадете нов .htaccess файл за вашия уебсайт, първо влезте в таблото си за управление на WordPress. След това кликнете върху Настройки> Постоянни връзки .

Не е необходимо да правите допълнителни промени тук. Просто кликнете върху Запазите промените бутон и WordPress ще генерира нов .htaccess файл за вас.

Така че всеки път, когато се сблъскате с горния проблем, опитайте да създадете нов .htaccess файл. Методът .htaccess обикновено работи добре за уебсайтове на WordPress.

3. Конфигурирайте директиви във конфигурационния файл на Apache

Apache 2.4 използва нов конфигурационен модул с име mod_authz_host . Този модул излага няколко нови директиви. Накратко, това прилага следните правила:

  • Изисква всички предоставени : Разрешаване на всички заявки
  • Изисква всички отхвърлени : Отхвърля всички заявки
  • Изисква хост safe.com : Разрешаване само на искания от safe.com

Ако използвате Apache 2.4, уверете се, че основният ви конфигурационен файл съдържа следния блок код. Можете да проверите съдържанието на този файл с помощта на прост текстов редактор като Vim. Добавете този блок в конфигурационния файл, ако те липсват. Тогава можете запишете и излезте от Vim .

vim /etc/apache2/apache2.conf
Options FollowSymLinks
AllowOverride None
Require all denied


AllowOverride None
Require all granted


Options Indexes FollowSymLinks
AllowOverride None
Require all granted

Освен това, ако използвате уеб сървър, базиран на RHEL, трябва да улесните достъпа до / var / www раздел във вашия конфигурационен файл на Apache. Затова се уверете, че /etc/httpd/conf/httpd.conf файлът съдържа следния блок код.

vim /etc/httpd/conf/httpd.conf
AllowOverride None
Require all granted

Накрая рестартирайте Apache сървъра, като използвате една от следните команди.

# for Ubuntu and Debian
sudo systemctl restart apache2.service
# for RHEL and CentOS
sudo systemctl restart httpd

Поправете грешката при разрешаване на сървъра на Apache

Много хора се сблъскват с горния проблем при достъп до обществени уебсайтове или конфигуриране на свои собствени сайтове. Това ръководство обхваща няколко решения на този проблем. Нулирането на разрешението на файловата система за Apache трябва да бъде първото средство. Ако грешката продължава и след промяна на разрешенията, опитайте да създадете нова .htaccess файл и се уверете, че директивите са настроени правилно във вашия конфигурационен файл на Apache.

Има много други проблеми, които могат да доведат до грешка от страна на сървъра, подобна на тази. Трябва да сте опитни в отстраняването на проблеми с Linux сървъра, за да стартирате сървъра си в такива ситуации.

Дял Дял Туит електронна поща Поправете проблемите с Linux сървъра с тези 5 стъпки за отстраняване на неизправности

Върнете и стартирайте вашия Linux сървър за минути с тези интелигентни съвети за отстраняване на неизправности.

Прочетете Напред
Свързани теми
  • Linux
  • Apache сървър
  • Уеб сървър
  • Linux
  • Отстраняване на неизправности
  • Грешки в Linux
За автора Rubaiat Hossain(39 статии са публикувани)

Rubaiat е CS град със силна страст към отворен код. Освен че е ветеран на Unix, той се занимава и с мрежова сигурност, криптография и функционално програмиране. Той е запален колекционер на книги втора употреба и има безкрайно възхищение от класическия рок.

Още от Rubaiat Hossain

Абонирайте се за нашия бюлетин

Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и изключителни оферти!

Щракнете тук, за да се абонирате
Категория Linux