یکی از مشکلاتی که ممکن است در هنگام استفاده از اینترنت با آن برخورد کنید، خطای HTTP 403 Forbidden است. در اینجا قصد داریم به صورت دوستانه درباره این مشکل صحبت کنیم تا بهتر متوجه بشوید که چه عواملی میتوانند منجر به بروز این مشکل شوند.
این خطا زمانی رخ میدهد که شما به یک وبسایت یا یک منبع خاص در اینترنت درخواست دسترسی میدهید، اما سرور آن منبع به شما اطلاع میدهد که اجازه دسترسی به آن را ندارید. این موضوع ممکن است دلایل مختلفی داشته باشد که در ادامه به آنها اشاره میکنیم.
یکی از دلایل رایج بروز خطای 403 این است که سرور به وسیله تنظیمات خاصی جلوی دسترسی شما را گرفته است. مثلا ممکن است برای جلوگیری از استفادههای غیرمجاز یا حفظ امنیت دادهها، دسترسی به منابع خاصی محدود شده باشد.
عامل دیگر میتواند عدم اعتبارسنجی مناسب از سمت شما باشد. به عنوان مثال، ممکن است شما برای ورود به بخشی از سایت نیاز به حساب کاربری داشته باشید و اگر بدون ورود به حساب کاربری سعی کنید به آن بخش دسترسی پیدا کنید، با خطای 403 روبرو میشوید.
گاهی اوقات، فایلهایی که قصد دسترسی به آنها را دارید به طور اشتباه در پوشههای محافظت شده سرور قرار داده میشوند، که در این صورت هم با این خطا مواجه میشوید. پس باید مطمئن شوید که فایلها در مسیرهای درستی قرار دارند.
در نهایت باید اشاره کنیم که برخی اوقات تنظیمات پیشفرض وب سرور ممکن است منجر به این خطا شود. برای مثال، ممکن است تنظیمات مربوط به کنترل دسترسی به منابع به طور صحیح روی سرور پیکربندی نشده باشد.
نمونه کد پیکربندی Nginx برای دسترسی
server {
listen 80;
server_name example.com;
location /private/ {
deny all;
}
location / {
allow all;
}
}
server {
این بلوک مربوط به تعریف یک سرور مجازی در Nginx است که در پورت ۸۰ گوش میکند.
listen 80;
مشخص میکند که سرور روی پورت ۸۰ گوش میدهد، پورت پیشفرض برای HTTP.
server_name example.com;
نام دامنهای که این پیکربندی برای آن اعمال میشود.
location /private/ { deny all; }
مسیر /private/ تمامی درخواستها را رد میکند، و هیچ دسترسی را اجازه نمیدهد.
location / { allow all; }
مسیر اصلی / تمامی درخواستها را میپذیرد و دسترسی را به همه میدهد.