วิธีแก้ไขข้อผิดพลาด 403 Forbidden NGINX บนไซต์ของคุณ

เผยแพร่แล้ว: 2023-04-13

หากคุณมีประสบการณ์ในการทำงานกับเว็บเซิร์ฟเวอร์ คุณจะรู้ว่าบางสถานการณ์อาจทำให้เกิดข้อผิดพลาดได้ หนึ่งในข้อผิดพลาดที่น่าผิดหวังที่สุดที่คุณอาจพบคือข้อผิดพลาด 403 Forbidden Nginx

การพบข้อผิดพลาด 403 Forbidden Nginx สามารถป้องกันไม่ให้คุณเข้าถึงทรัพยากรที่คุณต้องการ และการวินิจฉัยและแก้ไขอาจเป็นเรื่องท้าทาย หากคุณพบข้อผิดพลาดนี้ สิ่งสำคัญคือต้องแก้ไขทันทีเพื่อหลีกเลี่ยงการสูญหายของข้อมูลที่อาจเกิดขึ้นหรือการหยุดทำงานของเว็บไซต์

อาจเป็นเรื่องยากที่จะเข้าใจว่าอะไรเป็นสาเหตุของข้อผิดพลาดต้องห้าม 403 ใน Nginx และยิ่งยากขึ้นไปอีกในการหาวิธีแก้ไข

อย่างไรก็ตาม ไม่จำเป็นต้องกังวล – ในบทความนี้ เราจะครอบคลุมทุกสิ่งที่คุณจำเป็นต้องรู้เกี่ยวกับข้อผิดพลาดต้องห้าม 403 ใน Nginx เราจะให้ข้อมูลที่ครอบคลุมว่าข้อผิดพลาดเหล่านี้คืออะไร วิธีแก้ไข และวิธีป้องกันไม่ให้เกิดขึ้นอีกในอนาคต

เรามาเริ่มกันเลย!


สารบัญ
ข้อผิดพลาด 403 ที่ต้องห้ามของ Nginx คืออะไร
ทำความเข้าใจพื้นฐานของรหัสสถานะ HTTP
Nginx จัดการกับข้อผิดพลาดต้องห้าม 403 อย่างไร
อะไรคือสาเหตุทั่วไปของข้อผิดพลาด 403 Forbidden Nginx?
วิธีแก้ไขข้อผิดพลาด 403 Forbidden Nginx บนไซต์ของคุณ
จะป้องกันข้อผิดพลาด 403 Forbidden Nginx ได้อย่างไร
บทสรุป
คำถามที่พบบ่อย

ข้อผิดพลาด 403 ที่ต้องห้ามของ Nginx คืออะไร

ข้อผิดพลาด 403 Forbidden Nginx เป็นรหัสสถานะที่โดยทั่วไปจะถูกเรียกใช้และแสดงต่อผู้ใช้เมื่อไคลเอ็นต์ ซึ่งโดยปกติแล้วจะเป็นเว็บเบราว์เซอร์ พยายามเข้าถึงทรัพยากรของเว็บเซิร์ฟเวอร์โดยไม่มีสิทธิ์เพียงพอ

พูดง่ายๆ ก็คือ เซิร์ฟเวอร์ปฏิเสธคำขอที่ไคลเอ็นต์ทำ และไคลเอ็นต์ไม่ได้รับอนุญาตให้เข้าถึงทรัพยากรที่ร้องขอ


อ่าน: วิธีแก้ไข WordPress 403 Forbidden Error? [9 การแก้ไขด่วน]


ทำความเข้าใจพื้นฐานของรหัสสถานะ HTTP

เพื่อให้เข้าใจข้อผิดพลาด 403 Forbidden Nginx อย่างแท้จริง การมีความเข้าใจพื้นฐานเกี่ยวกับรหัสสถานะ HTTP จะเป็นประโยชน์ ตัวเลขเหล่านี้คือตัวเลขสามหลักที่ระบุสถานะของรอบการตอบกลับคำขอระหว่างไคลเอ็นต์และเซิร์ฟเวอร์

รหัสสถานะ HTTP มีห้าประเภทหลัก ตั้งแต่ข้อมูล (100-199) ไปจนถึงข้อผิดพลาดของเซิร์ฟเวอร์ (500-599) หากต้องการเรียนรู้เพิ่มเติม คุณสามารถดูบล็อกเฉพาะของเราได้โดยคลิกที่ลิงก์ด้านล่าง:


อ่าน: คู่มือฉบับสมบูรณ์เพื่อทำความเข้าใจรหัสสถานะ HTTP


Nginx จัดการกับข้อผิดพลาดต้องห้าม 403 อย่างไร

ตอนนี้เรารู้แล้วว่าข้อผิดพลาด 403 Forbidden Nginx คืออะไร เรามาพูดถึงวิธีที่ Nginx จัดการกับมันกัน เมื่อ Nginx พบข้อผิดพลาด 403 Forbidden โดยทั่วไปจะแสดงข้อความง่ายๆ แก่ผู้ใช้ว่า “403 Forbidden” หรือ “Access Denied” ข้อความนี้สร้างขึ้นโดยเซิร์ฟเวอร์และเจ้าของเว็บไซต์สามารถปรับแต่งได้หากต้องการ


อะไรคือสาเหตุทั่วไปของข้อผิดพลาด 403 Forbidden Nginx?

มาดูสาเหตุทั่วไปของ 403 Forbidden Errors ใน Nginx กันดีกว่า การระบุผู้กระทำผิดสามารถช่วยให้คุณแก้ไขปัญหาต่อไปได้ ข้อผิดพลาดเหล่านี้อาจเป็นเรื่องยุ่งยากในการจัดการและมักจะเกิดขึ้นในเวลาที่ไม่สะดวกที่สุด

นอกจากนี้ ก่อนที่เราจะดำเนินการต่อไป สิ่งสำคัญคือต้องชี้แจงว่า ข้อผิดพลาดนี้อาจเกิดจากฝั่งไคลเอ็นต์หรือฝั่งเซิร์ฟเวอร์ ไม่ใช่กรณีที่เซิร์ฟเวอร์เป็นผู้ร้ายเสมอไป

ข้อผิดพลาดฝั่งเซิร์ฟเวอร์

  • สิทธิ์ของไฟล์ไม่ถูกต้อง
  • การตั้งค่าเซิร์ฟเวอร์ไม่ถูกต้อง
  • โครงสร้าง URL หรือไดเร็กทอรี
  • ปัญหาเซิร์ฟเวอร์และไฟร์วอลล์

ข้อผิดพลาดฝั่งไคลเอ็นต์

  • ปัญหาเซิร์ฟเวอร์และไฟร์วอลล์
  • ปัญหาเกี่ยวกับเบราว์เซอร์
  • เข้าเว็บผิดตำแหน่ง

ตอนนี้ให้เราตรวจสอบรายละเอียด

สิทธิ์ของไฟล์ไม่ถูกต้อง

การอนุญาตไฟล์ที่ไม่ถูกต้องอาจเป็นปัญหาทั่วไปที่นำไปสู่ข้อผิดพลาด 403 Forbidden Nginx สิ่งนี้สามารถเกิดขึ้นได้เมื่อเซิร์ฟเวอร์ไม่มีสิทธิ์ที่จำเป็นในการเข้าถึงไฟล์หรือไดเร็กทอรี อาจเป็นไปได้ว่าผู้ใช้เซิร์ฟเวอร์ไม่มีสิทธิ์ความเป็นเจ้าของหรือสิทธิ์ของกลุ่มในการเข้าถึงไฟล์ หรือตัวไฟล์นั้นตั้งค่าไม่ถูกต้อง

การตั้งค่าเซิร์ฟเวอร์ไม่ถูกต้อง

ปัญหาเกี่ยวกับไฟล์การกำหนดค่า Nginx อาจนำไปสู่ข้อผิดพลาด 403 Forbidden Nginx กรณีนี้อาจเกิดขึ้นได้หากไฟล์การกำหนดค่าขาดหายไป ไม่สมบูรณ์ หรือมีการตั้งค่าที่ไม่ถูกต้อง เช่น การตั้งค่าความปลอดภัยที่ป้องกันการเข้าถึงทรัพยากรบางอย่าง กรณีนี้มักเกิดขึ้นหากคุณเพิ่งเปลี่ยนแปลงการกำหนดค่า Nginx ของคุณ หรือหากคุณเพิ่งย้ายไปยังเซิร์ฟเวอร์ใหม่

URL หรือโครงสร้างไดเรกทอรีไม่ถูกต้อง

สาเหตุอื่นของข้อผิดพลาด 403 Forbidden Nginx เกี่ยวข้องกับปัญหาเกี่ยวกับโครงสร้าง URL หรือไดเร็กทอรี กรณีนี้อาจเกิดขึ้นได้หากผู้ใช้พยายามเข้าถึงทรัพยากรที่ไม่มีอยู่แล้วหรือถูกย้ายไปยังตำแหน่งอื่น นอกจากนี้ยังอาจเกิดจากการกำหนดค่าเซิร์ฟเวอร์ผิดพลาดซึ่งทำให้ค้นหาทรัพยากรในตำแหน่งที่ไม่ถูกต้อง

ปัญหาเซิร์ฟเวอร์และไฟร์วอลล์

สุดท้าย ปัญหาเกี่ยวกับเซิร์ฟเวอร์และไฟร์วอลล์อาจทำให้เกิดข้อผิดพลาด 403 Forbidden Nginx ในบางครั้ง ตัวอย่างเช่น เซิร์ฟเวอร์อาจประสบปัญหาปริมาณการรับส่งข้อมูลสูง ซึ่งนำไปสู่ข้อผิดพลาด หรืออาจเป็นเพราะการตั้งค่าไฟร์วอลล์ที่ปิดกั้นการเข้าถึงทรัพยากรบางอย่าง ในกรณีเช่นนี้ สิ่งสำคัญคือต้องตรวจสอบบันทึกของเซิร์ฟเวอร์เพื่อระบุสาเหตุของปัญหา


วิธีแก้ไขข้อผิดพลาด 403 Forbidden Nginx บนไซต์ของคุณ

หากคุณพบข้อผิดพลาดต้องห้าม 403 ใน Nginx มีหลายขั้นตอนที่คุณสามารถทำได้เพื่อแก้ไขปัญหา ให้เราวิเคราะห์พวกมันทีละตัว

นี่คือรายการวิธีการแก้ไขปัญหา:

  • การกำหนดค่าไม่ถูกต้องสำหรับไฟล์ดัชนี
  • ตรวจสอบสิทธิ์ของไฟล์
  • ตรวจสอบการกำหนดค่า Nginx
  • รีสตาร์ท Nginx
  • ตรวจสอบข้อจำกัดตาม IP
  • ตรวจสอบไฟร์วอลล์และพร็อกซีของคุณ
  • ล้างแคชของเบราว์เซอร์ของคุณ
  • ตรวจสอบตำแหน่งเว็บ
  • ติดต่อผู้ดูแลเว็บไซต์

1. การกำหนดค่าไม่ถูกต้องสำหรับไฟล์ดัชนี

หนึ่งในสาเหตุที่พบบ่อยที่สุดที่ทำให้เกิดข้อผิดพลาด 403 Forbidden Nginx คือการกำหนดค่าที่ไม่ถูกต้องสำหรับไฟล์ดัชนี

ไฟล์ดัชนีคือไฟล์ที่ Nginx ให้บริการกับไคลเอ็นต์เมื่อไคลเอนต์ร้องขอ URL รูทของเว็บไซต์หรือไดเร็กทอรี ไฟล์นี้เป็นไปตามกฎเฉพาะที่กำหนดว่าไฟล์ดัชนีใดที่จะโหลดและในลำดับใด ตามค่าเริ่มต้น Nginx จะค้นหาไฟล์ชื่อ “index.html”, “index.htm”, “index.php” หรือ “index.cgi” เพื่อใช้เป็นไฟล์ดัชนี

ดังนั้น คุณต้องกำหนดไฟล์ดัชนีลงในคำสั่งตำแหน่งที่แสดงด้านล่าง:

location / {
index index.html index.htm index.html inde.php;
}

หากไม่พบไฟล์ที่กล่าวถึงในไดเร็กทอรี Nginx จะส่งคืนข้อผิดพลาดต้องห้าม 403

2. ตรวจสอบสิทธิ์ของไฟล์

สิ่งแรกที่คุณควรตรวจสอบคือการอนุญาตไฟล์สำหรับทรัพยากรที่คุณกำลังพยายามเข้าถึง หากไฟล์หรือไดเร็กทอรีไม่มีสิทธิ์ที่ถูกต้อง Nginx จะไม่สามารถให้บริการแก่คุณได้

เพื่อให้แน่ใจว่า Nginx สามารถให้บริการไฟล์และทรัพยากรเฉพาะแก่ไคลเอ็นต์ได้ จำเป็นต้องมีสิทธิ์อ่าน เขียน และดำเนินการ (RWX) ที่เหมาะสมบนพาธทั้งหมด หากการอนุญาตไม่ถูกต้อง อาจส่งผลให้เกิดข้อผิดพลาด 403 Forbidden Nginx

ในการแก้ไขปัญหานี้ คุณต้องเปลี่ยนการอนุญาตไดเรกทอรีเป็น 755 และเปลี่ยนการอนุญาตของไฟล์เป็น 644 นอกจากนี้ ตรวจสอบให้แน่ใจว่าคุณใช้งาน Nginx ต้องเป็นเจ้าของไฟล์ด้วย

sudo chown -R www-data:www-data *
sudo chmod 755 {dir}
sudo chmod 644 {files}

3. ตรวจสอบการกำหนดค่า Nginx

ไฟล์การกำหนดค่า Nginx อาจมีข้อผิดพลาดที่ทำให้เกิดข้อผิดพลาด 403 Forbidden Nginx ในการตรวจสอบไฟล์คอนฟิกูเรชัน ให้รันคำสั่ง:

sudo nginx -t

คำสั่งนี้ทดสอบไฟล์คอนฟิกูเรชันและรายงานข้อผิดพลาดใดๆ หากมีข้อผิดพลาด ให้แก้ไขก่อนที่จะรีสตาร์ท Nginx

4. รีสตาร์ท Nginx

หากคุณได้ทำการเปลี่ยนแปลงใดๆ กับไฟล์การกำหนดค่า Nginx คุณต้องรีสตาร์ท Nginx เพื่อใช้การเปลี่ยนแปลง ใช้คำสั่งต่อไปนี้เพื่อรีสตาร์ท Nginx

sudo systemctl restart nginx

5. ตรวจสอบข้อจำกัดตาม IP

Nginx สามารถบล็อกคำขอจากที่อยู่ IP บางแห่งได้ หากต้องการตรวจสอบว่าที่อยู่ IP ของคุณถูกบล็อกหรือไม่ ให้ใช้คำสั่ง

sudo tail -f /var/log/nginx/error.log

คำสั่งนี้แสดงบันทึกข้อผิดพลาด Nginx ตามเวลาจริง หากที่อยู่ IP ของคุณถูกบล็อก คุณสามารถเพิ่มลงในรายการ "อนุญาต" ในไฟล์การกำหนดค่า Nginx ตัวอย่างเช่น,

location / {
deny 124.33.126.127;
allow 55.159.63.90/24;
deny all;
}

6. ตรวจสอบไฟร์วอลล์และพร็อกซีของคุณ

ในการเข้าถึงทรัพยากรบนเว็บ ตรวจสอบให้แน่ใจว่าไฟร์วอลล์หรือพร็อกซีไม่ได้ปิดกั้น กำหนดการตั้งค่าเพื่ออนุญาตการรับส่งข้อมูล เพิ่มข้อยกเว้น หรือปรับการตั้งค่าความปลอดภัยตามต้องการ ด้วยวิธีนี้ ผู้ใช้สามารถเข้าถึงทรัพยากรที่ต้องการได้โดยไม่มีข้อจำกัดใดๆ

7. ล้างแคชของเบราว์เซอร์ของคุณ

การล้างแคชของเบราว์เซอร์สามารถแก้ไขข้อผิดพลาด 403 Forbidden Nginx ที่เกิดจากแคชที่ล้าสมัยหรือเสียหายได้ มันบังคับให้เบราว์เซอร์ดาวน์โหลดทรัพยากรใหม่จากเว็บไซต์เพื่อแก้ไขปัญหา

หากข้อผิดพลาดนี้เกิดขึ้นเนื่องจากปัญหาเกี่ยวกับแคช การล้างคุกกี้และหน่วยความจำแคชของเบราว์เซอร์สามารถช่วยได้ นี่คือขั้นตอนที่คุณสามารถปฏิบัติตาม:


หมายเหตุ: เนื่องจาก Chrome มีส่วนแบ่งตลาดเบราว์เซอร์ที่สำคัญ เราจะใช้ Chrome สำหรับบทช่วยสอนนี้


ขั้นตอนที่ 1: ไปที่เมนูการตั้งค่า ทั้งนี้ขึ้นอยู่กับเบราว์เซอร์ของคุณ ใน Google Chrome คุณสามารถคลิกที่จุดแนวตั้งสามจุดที่มุมขวาบนของหน้าต่าง

ขั้นตอนที่ 2: เลือก " เครื่องมือเพิ่มเติม " และคลิกที่ " ล้างข้อมูลการท่องเว็บ "

Clear browsing data on Chrome
ล้างข้อมูลการท่องเว็บบน Chrome

ขั้นตอนที่ 3: หน้าต่างป๊อปอัปจะเปิดขึ้นซึ่งคุณสามารถเลือกตัวเลือกทั้งสามตัวเลือกภายใต้ส่วน " พื้นฐาน " ตามที่แสดงในภาพด้านล่าง ตัวเลือกเหล่านี้คือ “ ประวัติการเรียกดู “, “ คุกกี้และข้อมูลไซต์อื่น ๆ “ และ “ รูปภาพและไฟล์ที่แคชไว้

ขั้นตอนที่ 4: คลิกที่ " ล้างข้อมูล " เพื่อเริ่มกระบวนการ

Clearing data in Google Chrome
การล้างข้อมูลใน Google Chrome

8. ตรวจสอบตำแหน่งเว็บ

เมื่อพยายามเข้าถึงเว็บไซต์หรือทรัพยากรบนเว็บ สิ่งสำคัญคือต้องแน่ใจว่าคุณเข้าถึงตำแหน่งที่ถูกต้องบนเว็บ ซึ่งอาจรวมถึงการตรวจสอบ URL หรือที่อยู่เว็บอีกครั้งเพื่อให้แน่ใจว่าสะกดถูกต้องและสะท้อนถึงทรัพยากรที่ต้องการได้อย่างถูกต้อง

หาก URL หรือที่อยู่เว็บไม่ถูกต้อง คุณอาจถูกนำไปยังตำแหน่งอื่นบนเว็บ ซึ่งอาจส่งผลให้เกิดข้อผิดพลาดหรือขัดขวางไม่ให้เราเข้าถึงทรัพยากรที่ต้องการโดยสิ้นเชิง

9. ติดต่อผู้ดูแลเว็บไซต์

หากวิธีแก้ไขปัญหาข้างต้นไม่ได้ผล โปรดติดต่อผู้ดูแลเว็บไซต์เพื่อดูว่ามีปัญหาด้านเซิร์ฟเวอร์ที่เป็นสาเหตุของข้อผิดพลาดหรือไม่ ผู้ดูแลเว็บไซต์อาจให้ข้อมูลเพิ่มเติมเกี่ยวกับสาเหตุของข้อผิดพลาดและวิธีแก้ไขได้


จะป้องกันข้อผิดพลาด 403 Forbidden Nginx ได้อย่างไร

วิธีที่ดีที่สุดในการจัดการกับข้อผิดพลาด 403 Forbidden Nginx คือการป้องกันไม่ให้เกิดขึ้นตั้งแต่แรก วิธีที่ดีที่สุดในการทำเช่นนี้ ได้แก่

  • การใช้การควบคุมการเข้าถึงและการพิสูจน์ตัวตน
  • การตั้งค่าสิทธิ์ไฟล์และไดเร็กทอรีที่เหมาะสม
  • การใช้ใบรับรอง SSL/TLS
  • ตรวจสอบสถานะและประสิทธิภาพของเซิร์ฟเวอร์
  • อัพเดทอยู่เสมอด้วยการอัปเดตและแพตช์ของ Nginx

บทสรุป

การพบข้อผิดพลาด 403 Forbidden Nginx อาจเป็นเรื่องที่น่าหงุดหงิด แต่ด้วยแนวทางที่ถูกต้อง จะสามารถแก้ไขได้อย่างง่ายดาย ข้อผิดพลาดนี้อาจเกิดขึ้นได้จากหลายสาเหตุ แต่ทั้งหมดมีความหมายเหมือนกัน นั่นคือคุณถูกปฏิเสธไม่ให้เข้าถึงทรัพยากรที่คุณร้องขอ

ดังนั้นเมื่อใดก็ตามที่คุณพบข้อผิดพลาดนี้ ให้พยายามทำความเข้าใจว่าอะไรเป็นสาเหตุก่อน เพื่อให้ง่ายขึ้น จะเป็นการดีถ้าคุณตรวจสอบบันทึกข้อผิดพลาดก่อนลองใช้วิธีแก้ไขปัญหาใดๆ


อ่าน: คุณยังสามารถอ่านคู่มือฉบับสมบูรณ์เกี่ยวกับวิธีเข้าถึงและตั้งค่าบันทึกข้อผิดพลาดของ WordPress


หากคุณมีข้อสงสัยหรือต้องการเพิ่มคะแนนอันมีค่า โปรดแจ้งให้เราทราบในส่วนความคิดเห็นด้านล่าง

คำถามที่พบบ่อย

ฉันจะแก้ไข 403 Forbidden Nginx ได้อย่างไร

นี่คือรายการวิธีการแก้ไขปัญหาทั้งหมด:
1. การกำหนดค่าไม่ถูกต้องสำหรับไฟล์ดัชนี
2. ตรวจสอบสิทธิ์ของไฟล์
3. ตรวจสอบการกำหนดค่า Nginx
4. รีสตาร์ท Nginx
5. ตรวจสอบข้อจำกัดตาม IP
6. ตรวจสอบไฟร์วอลล์และพร็อกซีของคุณ
7. ล้างแคชของเบราว์เซอร์ของคุณ
8. ตรวจสอบตำแหน่งเว็บ
9. ติดต่อผู้ดูแลเว็บไซต์

ข้อผิดพลาด 403 ใน nginx คืออะไร

ข้อผิดพลาด 403 ใน Nginx หมายถึงข้อผิดพลาด "ต้องห้าม" ซึ่งเกิดขึ้นเมื่อผู้ใช้พยายามเข้าถึงหน้าเว็บหรือทรัพยากรที่พวกเขาไม่ได้รับอนุญาตให้เข้าถึง กรณีนี้อาจเกิดขึ้นได้จากหลายสาเหตุ เช่น ไฟล์หรือไดเร็กทอรีไม่ถูกต้อง การบล็อก IP หรือปัญหาการตรวจสอบสิทธิ์

อะไรเป็นสาเหตุของ 403 Forbidden?

403 Forbidden สามารถเกิดขึ้นได้จากหลายสาเหตุ สาเหตุที่พบบ่อยที่สุดบางส่วนมีดังต่อไปนี้:
1. สิทธิ์ของไฟล์ไม่ถูกต้อง
2. ไม่มีไฟล์ดัชนีหรือโฟลเดอร์ว่าง