วิธีแก้ไข 'Forbidden - คุณไม่มีสิทธิ์เข้าถึง / บนเซิร์ฟเวอร์นี้' บนโดเมนหลังจากตั้งค่า Apache



ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา

Apache เป็นซอฟต์แวร์เว็บเซิร์ฟเวอร์ที่ใช้เกือบ 67% ของเว็บเซิร์ฟเวอร์ทั้งหมดในโลก ซอฟต์แวร์นี้พัฒนาและจัดจำหน่ายโดย Apache Software Distribution เป็นโอเพ่นซอร์สและสามารถใช้ได้ฟรี Apache รวดเร็วปลอดภัยและเชื่อถือได้ซึ่งเป็นสาเหตุหนึ่งของความนิยม อย่างไรก็ตามเมื่อไม่นานมานี้มีผู้ใช้จำนวนมากประสบปัญหา“ ห้าม - คุณไม่มีสิทธิ์เข้าถึง / บนเซิร์ฟเวอร์นี้ ” เกิดข้อผิดพลาดขณะพยายามตั้งค่า Apache สำหรับโดเมน



ข้อผิดพลาด“ Forbidden - คุณไม่มีสิทธิ์เข้าถึง / บนเซิร์ฟเวอร์นี้”



อะไรเป็นสาเหตุของข้อผิดพลาด“ Forbidden - คุณไม่มีสิทธิ์เข้าถึง / บนเซิร์ฟเวอร์นี้”

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



  • การตั้งค่าไดเรกทอรีร่วมไม่ถูกต้อง : เป็นไปได้ว่าการตั้งค่าสำหรับ Global Directory ไม่ได้รับการกำหนดค่าอย่างถูกต้องซึ่งไม่อนุญาตให้มีคำสั่งกับไซต์เพียงพอ หากไซต์ไม่มีคำสั่งที่ถูกต้องอาจทำให้เกิดข้อผิดพลาดนี้
  • สิทธิ์ไม่ถูกต้อง : Apache ต้องการการอนุญาตถึงโฟลเดอร์รากของไดเร็กทอรีเพื่อให้ทำงานได้อย่างถูกต้องหากไม่ได้รับสิทธิ์เหล่านี้ข้อผิดพลาดอาจถูกทริกเกอร์
  • ไม่มีชื่อผู้ใช้ : ใน“ httpd.conf” ต้องป้อนชื่อผู้ใช้จริงของผู้ใช้ในบางกรณีเพื่อกำจัดข้อผิดพลาด วิธีนี้ใช้ได้กับบางคนในขณะที่บางคนใช้ไม่ได้

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

โซลูชันที่ 1: การเปลี่ยนการตั้งค่าไดเรกทอรีร่วม

จำเป็นต้องกำหนดค่าการตั้งค่าบางอย่างอย่างเหมาะสมเพื่อแก้ไขปัญหานี้ ดังนั้นในขั้นตอนนี้เราจะเพิ่มคำสั่งตัวเลือกในการตั้งค่าไดเรกทอรีส่วนกลางซึ่งอยู่ในส่วน ' httpd . Conf ” หรือ“ httpd - vhosts . Conf ” ขึ้นอยู่กับผู้ใช้ สำหรับการที่:

  1. เมื่อคุณอยู่ใน“ httpd . Conf ” หรือ “ httpd-vhosts.conf”, มองหาไฟล์ ไดเรกทอรี การตั้งค่าควรคล้ายกับโค้ดที่ระบุด้านล่าง
    ตัวเลือก FollowSymLinks AllowOverride All Order ปฏิเสธอนุญาตอนุญาตจากทั้งหมด

    ไฟล์“ httpd.conf”



    บันทึก: เป็นไปได้ว่ารหัสมี“ปฏิเสธ จาก ทั้งหมด ” แทน“อนุญาต จาก ทั้งหมด “. เป็นสิ่งสำคัญที่คุณแก้ไข เพื่อ“อนุญาตจาก ทั้งหมด ' หรือ 'จำเป็นต้อง ทั้งหมด ได้รับ ” ตามที่ระบุด้านล่าง

  2. ให้แน่ใจว่าคุณ เพิ่ม ที่“ ดัชนีตัวเลือก FollowSymLinks รวมถึง ExecCGI ” เข้าไว้ในลักษณะที่คล้ายกับรหัสต่อไปนี้
    #Options FollowSymLinks ดัชนีตัวเลือก FollowSymLinks รวม ExecCGI AllowOverride All Order ปฏิเสธอนุญาตอนุญาตจากทั้งหมด
  3. ตรวจสอบ เพื่อดูว่าปัญหายังคงมีอยู่หรือไม่
  4. หากไม่สามารถแก้ไขปัญหาได้ให้แก้ไขโค้ดโดยลบ“ อนุญาต จาก ทั้งหมด ' ถึง ' จำเป็นต้อง ทั้งหมด ได้รับ '.
  5. ตรวจสอบ เพื่อดูว่าปัญหายังคงมีอยู่หรือไม่

โซลูชันที่ 2: การเปลี่ยนสิทธิ์

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

  1. ตามปกติผู้ใช้ให้ สิทธิ์ ด้วยวิธีต่อไปนี้
    chgrp -R www-data / ชื่อผู้ใช้ / home / Dropbox / myamazingsite / chmod -R 2750 / ชื่อผู้ใช้ / home / Dropbox / myamazingsite /
  2. คำสั่งเหล่านี้ไม่ถูกต้องและจำเป็นต้องแทนที่ด้วย
    chgrp -R www-data / ชื่อผู้ใช้ chmod -R 2750 / ชื่อผู้ใช้
  3. นอกจากนี้โปรดทราบว่าคุณใช้ระดับ 'ที่ถูกต้อง' chmod “ ใช้อันที่ให้สิทธิ์ในการอ่านแก่ผู้ใช้เช่น“ chmod 755 '.
  4. ตรวจสอบดูว่าปัญหายังคงมีอยู่หรือไม่หลังจากลองทำตามคำแนะนำ

โซลูชันที่ 3: การเพิ่มชื่อผู้ใช้

ใน ' httpd . Conf “ อย่าลืมเพิ่มไฟล์ ชื่อผู้ใช้ที่แน่นอน แทนคำพูด “ ผู้ใช้” หรือ 'กลุ่ม'. ในบางกรณีการเพิ่มชื่อผู้ใช้จะช่วยแก้ปัญหาได้

เพิ่มชื่อผู้ใช้ในไฟล์ที่ระบุ

อ่าน 2 นาที