Computer >> คอมพิวเตอร์ >  >> ระบบเครือข่าย >> ระบบเครือข่าย

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

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

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

อะไรทำให้เกิดข้อผิดพลาด “ถูกห้าม – คุณไม่ได้รับอนุญาตให้เข้าถึง / บนเซิร์ฟเวอร์นี้” เกิดข้อผิดพลาด

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

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

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

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

จำเป็นต้องกำหนดค่าการตั้งค่าบางอย่างอย่างเหมาะสมเพื่อแก้ไขปัญหานี้ ดังนั้น ในขั้นตอนนี้ เราจะเพิ่ม Options Directive ใน Global Directory Settings ซึ่งอยู่ใน “httpd .คอนเฟิร์ม ” หรือ “httpdvhosts .คอนเฟิร์ม ” ขึ้นอยู่กับผู้ใช้ สำหรับสิ่งนั้น:

  1. เมื่อคุณอยู่ใน “httpd .คอนเฟิร์ม ” หรือ “httpd-vhosts.conf”, มองหา ไดเรกทอรี การตั้งค่าควรจะคล้ายกับโค้ดที่กล่าวถึงด้านล่าง
    <Directory />
    Options FollowSymLinks
    AllowOverride All
    Order deny,allow
    Allow from all
    </Directory>
    วิธีแก้ไข  ถูกห้าม - คุณไม่ได้รับอนุญาตให้เข้าถึง / บนเซิร์ฟเวอร์นี้  บนโดเมนหลังจากตั้งค่า Apache

    หมายเหตุ: เป็นไปได้ว่าโค้ดมี “Deny จาก ทั้งหมด ” แทนที่ “Allow จาก ทั้งหมด “. เป็นสิ่งสำคัญที่คุณ modify เป็น “Allow From ทั้งหมด ” หรือ “Require ทั้งหมด ได้รับแล้ว ” ตามที่ระบุด้านล่าง

  2. ตรวจสอบให้แน่ใจว่าคุณ เพิ่มดัชนีตัวเลือก FollowSymLinks รวม ExecCGI ” เข้าไปในลักษณะที่คล้ายกับโค้ดต่อไปนี้
    <Directory />
    #Options FollowSymLinks
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Order deny,allow
    Allow from all
    </Directory>
  3. ตรวจสอบ เพื่อดูว่าปัญหายังคงมีอยู่หรือไม่
  4. หากปัญหาไม่ได้รับการแก้ไข ให้แก้ไขโค้ดโดยลบ “อนุญาต จาก ทั้งหมด ” ถึง “ต้องการ ทั้งหมด ได้รับ “.
  5. ตรวจสอบ เพื่อดูว่าปัญหายังคงมีอยู่หรือไม่

โซลูชัน 2:การเปลี่ยนการอนุญาต

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

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

แนวทางที่ 3:การเพิ่มชื่อผู้ใช้

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

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