การกำหนดค่าเว็บเซิร์ฟเวอร์จำนวนมากประสบปัญหาเกี่ยวกับการอนุญาตไฟล์ มันมักจะทำให้เซิร์ฟเวอร์ไม่สามารถเข้าถึงผู้เยี่ยมชมและแสดงในรูปแบบของข้อผิดพลาด 403 โดยปกติ ข้อความแสดงข้อผิดพลาดจะคล้ายกับ 'ถูกห้าม: คุณไม่ได้รับอนุญาตให้เข้าถึง / บนเซิร์ฟเวอร์นี้' ข้อผิดพลาดนี้ยังสามารถจำกัดการเข้าถึงเส้นทางอื่นบนเซิร์ฟเวอร์เช่น /ไดเรกทอรี .
ปัญหาที่คล้ายกันอาจเกิดขึ้นเนื่องจากปัญหาในไฟล์การกำหนดค่า Apache หรือแม้กระทั่งเนื่องจากความเสียหาย .htaccess ไฟล์. คู่มือนี้มีวิธีแก้ปัญหาทีละขั้นตอนสำหรับปัญหาเหล่านี้ทั้งหมด ลองใช้ทีละตัวโดยเริ่มจากวิธีแรก
อะไรทำให้เกิดข้อผิดพลาด Apache 403 นี้
นี่เป็นข้อผิดพลาด 403 ทั่วไปที่ส่วนท้ายของ Apache เกิดจากปัญหามากมาย อย่างไรก็ตาม ในกรณีส่วนใหญ่ ข้อผิดพลาดนี้เกิดขึ้นเนื่องจากขาดการอนุญาตที่เหมาะสมที่จำเป็นในการเข้าถึงไซต์แบบสาธารณะ นอกจากนี้ ไซต์ WordPress มักประสบปัญหานี้เนื่องจากปัญหาไม่ดี .htaccess ไฟล์.
นอกจากนี้ ตั้งแต่ Apache เวอร์ชัน 2.4 มีการเปลี่ยนแปลงบางอย่างเกี่ยวกับวิธีการทำงานของคำสั่ง นอกจากนี้ยังสามารถจำกัดการเข้าถึงเว็บไซต์ของคุณแบบสาธารณะและส่งผลให้เกิดข้อผิดพลาดต้องห้าม 403
1. แก้ไขการอนุญาตไฟล์เพื่อหลีกเลี่ยงข้อผิดพลาด
คนส่วนใหญ่พบข้อผิดพลาด 403 ทั่วไปนี้เนื่องจากไม่มีสิทธิ์ที่เหมาะสม หากผู้ดูแลไซต์ลืมเปิดใช้งานการเข้าถึงการอ่านสู่โลกภายนอก ผู้ใช้ปลายทางจะไม่สามารถเข้าถึงทรัพยากรที่ร้องขอได้ ซึ่งมักเป็นสาเหตุของข้อผิดพลาดนี้
หากคุณเป็นผู้ดูแลระบบไซต์แทน คุณต้องตรวจสอบให้แน่ใจว่าไฟล์ที่มีไว้สำหรับการเข้าถึงแบบสาธารณะนั้นมีสิทธิ์ในการอ่านที่เหมาะสม มิฉะนั้น หากคุณพบข้อผิดพลาดนี้บนไซต์สาธารณะ โปรดแจ้งผู้ดูแลระบบไซต์เพื่อแก้ไขปัญหานี้
การตั้งค่าการอนุญาตที่ถูกต้องสำหรับไฟล์ที่เข้าถึงได้แบบสาธารณะอาจเป็นเรื่องยากเล็กน้อย นั่นเป็นเหตุผลที่ผู้ดูแลระบบควรเริ่มต้นด้วยการอนุญาตเป็นศูนย์ และเพิ่มตามความจำเป็น เป็นความคิดที่ดีที่จะมีโฟลเดอร์ที่มีโหมดการอนุญาตเป็น 755 และไฟล์ด้วย 644 .
วิดีโอ amazon prime ไม่ทำงานบนทีวี
สำหรับเว็บไซต์อย่างง่าย ไดเร็กทอรีต้องมี ดำเนินการ อนุญาตและไฟล์ควรมี อ่าน การอนุญาต. ตรวจสอบให้แน่ใจว่าไม่ได้ให้สิทธิ์ดำเนินการกับไฟล์ ผู้ใช้ที่เป็นอันตรายสามารถได้รับการเข้าถึงที่ไม่ต้องการไปยังเซิร์ฟเวอร์สาธารณะผ่านไฟล์ดังกล่าว โหมดการอนุญาตสำหรับ อ่าน , เขียน และ ดำเนินการ การเข้าถึงคือ 4, 2 และ 1 ตามลำดับ
ดังนั้นโหมดการอนุญาต 755 ในไดเร็กทอรีหมายความว่าเฉพาะเจ้าของเท่านั้นที่สามารถเข้าถึงเนื้อหาไดเร็กทอรีได้อย่างเต็มที่ ผู้ใช้กลุ่มและคนอื่นๆ สามารถอ่านและดำเนินการได้เท่านั้น ในทำนองเดียวกัน โหมดการอนุญาต 644 สำหรับไฟล์ให้สิทธิ์การเข้าถึงแบบอ่านและเขียนแก่เจ้าของ และสิทธิ์การเข้าถึงแบบอ่านสำหรับคนอื่นๆ เท่านั้น
เพื่อแก้ไขข้อผิดพลาดนี้ ให้แก้ไขการอนุญาตไดเรกทอรี webroot ของคุณ คำสั่งด้านล่างใช้ ยูทิลิตี้ 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 restart apache2.service
คำสั่งนี้จะรีสตาร์ทเซิร์ฟเวอร์ Apache บน Ubuntu อย่างไรก็ตาม distros ที่ใช้ RPM จำนวนมากเช่น RHEL หรือ CentOS ติดตั้ง Apache as httpd . สำหรับระบบดังกล่าว ให้ใช้คำสั่งต่อไปนี้แทน:
sudo systemctl restart httpd
2. แก้ไขไฟล์ .htaccess สำหรับเว็บไซต์ WordPress ของคุณ
NS .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 ของคุณและทำงานในไม่กี่นาทีด้วยเคล็ดลับการแก้ปัญหาอันชาญฉลาดเหล่านี้
อ่านต่อไป หัวข้อที่เกี่ยวข้อง- ลินุกซ์
- เซิร์ฟเวอร์ Apache
- เว็บเซิร์ฟเวอร์
- ลินุกซ์
- การแก้ไขปัญหา
- ข้อผิดพลาดของลินุกซ์
Rubaiat เป็นผู้สำเร็จการศึกษา CS ที่มีความหลงใหลในโอเพ่นซอร์สอย่างมาก นอกเหนือจากการเป็นทหารผ่านศึก Unix แล้ว เขายังเป็นผู้เชี่ยวชาญด้านความปลอดภัยเครือข่าย การเข้ารหัส และการเขียนโปรแกรมเชิงฟังก์ชันอีกด้วย เขาเป็นนักสะสมหนังสือมือสองและชื่นชอบดนตรีร็อคคลาสสิกอย่างไม่สิ้นสุด
เพิ่มเติมจาก Rubaiat Hossainสมัครรับจดหมายข่าวของเรา
เข้าร่วมจดหมายข่าวของเราสำหรับเคล็ดลับทางเทคนิค บทวิจารณ์ eBook ฟรี และดีลพิเศษ!
คลิกที่นี่เพื่อสมัครสมาชิก