
همه چیز درباره خطای 403 forbidden
وب سرور آپاچی (Apache) به لطف پایداری و قابل اطمینان بودن ، یکی از محبوب ترین و پرکاربردترین وب سرورهای Open Source هست. وب سرور بازار بزرگی رو تحت سلطه خودش قرار داده ، به ویژه در سیستم عامل های میزبانی وب.
به همین علت ممکنه که پس از راه اندازی سایتتون ، در مرورگر ، خطای “Forbidden – You don’t have permission to access / on this server” رو دریافت کنید. این یه خطای معمولیه و تعداد زیادی از کاربران هنگام آزمایش کردن سایتشون اونو تجربه کردن ، پس این خطا چیه ؟
عیب یابی خطای 403 Forbidden
Forbidden Error ، خطای 403 هم بهش میگن ، خطاییه که وقتی شما تلاش میکنید به وبسایتی که محدود یا ممنوع شده ، دسترسی پیدا کنید ، در صفحه وب نمایش داده میشه.

این خطا میتونه به روش های مختلفی در مرورگر نمایش داده میشه که پایین چند تاشو گفتم :
- HTTP Error 403 – Forbidden
- Forbidden: You don’t have permission to access [directory] on this server
- 403 Forbidden
- Access Denied You don’t have permission to access
- 403 forbidden request forbidden by administrative rules
چه عواملی باعث بروز چنین خطاهایی میشن؟
‘403 Forbidden Error‘ به دلایل زیر رخ میده:
1. پرونده نادرست / فهرست مجوز های نادرسته
این خطا میتونه بدلیل دسترسی نادرست پرونده یا پوشه در webroot ایجاد بشه . اگه مجوز های پیش فرض فایل یا پروندتون برای دسترسی کاربران وب تنظیم نشده باشه ، احتمال بروز این خطا در یک مرورگر وب زیاده.
2. پیکربندی نادرست پرونده ها و فایل های Apache
این خطا می تونه بخاطر پیکربندی اشتباه یکی از پرونده های پیکربندی Apache رخ داده باشه. که می تونه یک پارامتر نادرست باشه که در پرونده پیکربندی ، دستورالعمل های قرار داده شده یا اینکه تنظیمات اصلا وجود نداره.
رفع خطای ‘403 Forbidden Error’
اگر با این خطا روبرو شدید ،چند مرحله وجود داره که می تونید برای رفع این ارور انجام بدید.
1. مجوزهای پرونده و مالکیت فهرست webroot را تنظیم کنید
مجوزهای نادرست پرونده ها و فهرست ها است که دسترسی به پرونده های وب سایت را محدود می کنه. در مرحله اول ، مطمئن شوید که مجوزهای پرونده را به صورت بازگشتی به فهرست webroot اختصاص داده شده فهرست webroot همیشه باید دارای مجوزهای EXECUTE و فایل index.html دارای مجوزهای READ باشه.
sudo chmod -R 775 /path/to/webroot/directory
علاوه بر این ، مالکیت دایرکتوری را مانند تصویر تنظیم کنید:
sudo chown -R user:group /path/to/webroot/directory
در جایی که کاربر منظمی است که به سیستم وارد می شود و گروه www-data یا apache است. سرانجام ، وب سرور Apache را بارگیری یا دوباره راه اندازی کنید تا تغییرات اعمال شود.
sudo systemctl restart apache2
اگر با این کار مشکلی برطرف نشد ، به مرحله بعدی برید:
2. مجوزهای پرونده و مالکیت فهرست webroot را تنظیم کنید
در پرونده پیکربندی اصلی Apache /etc/apache2/apache2.conf ، اطمینان حاصل کنید که این بلوک کد را در اختیار دارید:
<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>
ذخیره کرده و خارج شوید و پس از آن ، Apache را مجدداً راه اندازی کنید.
اگر Apache را روی سیستم های RHEL / CentOS اجرا می کنید ، اطمینان حاصل کنید که دسترسی به پوشه / var / www در /etc/httpd/conf/httpd.conf پرونده پیکربندی اصلی Apache را انجام دادید.
<Directory "/var/www"> AllowOverride None Require all granted </Directory>
سپس تمام تغییرات را ذخیره کرده و Apache را دوباره راه اندازی کنید.
اگر بعد از امتحان کردن تمام این مراحل هنوز با خطا مواجه هستید، لطفاً پیکربندی فایلهای میزبان مجازی خودتون رو بررسی کنید. مقاله مفصلی در مورد نحوه پیکربندی پرونده Apache در CentOS قرار دادیم که میتونید به اون مراجعه کنید.
امیدوارم که مراحل ارائه شده به شما کمک کنه تا خطای 403 رو برطرف کنید یک تجربه ی شخصی که درباره این ارور داشتم این بود که تنظیمات آپاچی سایت بنده تغییر کرده بود وقتی تنظیمات رو مجددا انجام دادم مشکل برطرف شده.