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

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

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

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

instagram viewer

Освен това, от версия 2.4 на Apache, имаше някои промени в начина на работа на директивите. Това също може да ограничи обществения достъп до вашия уебсайт и да доведе до 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. Краят {} \ съдържа файловите пътища, върнати от командата за търсене, и точка и запетая (;) маркира края на итерацията. И накрая, рестартирайте сървъра Apache, за да могат вашите промени да влязат в сила.

sudo systemctl рестартирайте apache2.service

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

sudo systemctl рестартирайте httpd

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

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

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

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

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

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

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

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

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

vim /etc/apache2/apache2.conf

Опции FollowSymLinks
AllowOverride Няма
Изискване на всички отказани


AllowOverride Няма
Изискване на всички предоставени


Опции Индекси FollowSymLinks
AllowOverride Няма
Изискване на всички предоставени

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

vim /etc/httpd/conf/httpd.conf

AllowOverride Няма
Изискване на всички предоставени

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

# за Ubuntu и Debian
sudo systemctl рестартирайте apache2.service
# за RHEL и CentOS
sudo systemctl рестартирайте httpd

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

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

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

електронна поща
Отстранете проблемите на Linux Server с тези 5 стъпки за отстраняване на неизправности

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

Прочетете Напред

Свързани теми
  • Linux
  • Apache сървър
  • Уеб сървър
  • Linux
  • Отстраняване на неизправности
  • Linux грешки
За автора
Рубаят Хосейн (Публикувани 26 статии)

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

Още от Rubaiat Hossain

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

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

Още една стъпка…!

Моля, потвърдете имейл адреса си в имейла, който току-що ви изпратихме.

.