Score:0

ตัวเลือกดัชนี Apache ใช้งานได้กับ HTTP แต่ไม่ใช่สำหรับ HTTPS

ธง lk

ฉันกำลังทดสอบด้วยการติดตั้งวานิลลาของ Rocky Linux 8.4 และ Apache 2.4 ฉันมีโฮสต์เสมือนที่กำหนดค่าและใช้งานได้ และฉันยังกำหนดค่า Lets Encrypt cert ผ่าน Certbot ซึ่งใช้งานได้ดีเช่นกัน

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

conf โฮสต์เสมือนของฉันมีลักษณะดังนี้:

<VirtualHost *:80>
    ServerName test.prot0type.com
    ServerAlias test.prot0type.com
    DocumentRoot /var/www/test.prot0type.com

    <Directory /var/www/test.prot0type.com/test>
        Options +Indexes
    </Directory>

    RewriteEngine on
    RewriteCond %{SERVER_NAME} =test.prot0type.com
    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

<VirtualHost *:443>
    ServerName test.prot0type.com
    ServerAlias test.prot0type.com
    DocumentRoot /var/www/test.prot0type.com

    <Directory /var/www/test.prot0type.com/test>
        Options +Indexes
    </Directory>

</VirtualHost>

การเข้าถึง http://test.prot0type.com/test/ ทำงานตามที่คาดไว้

การเข้าถึง https://test.prot0type.com/test/ ผลลัพธ์เป็น 403 และในบันทึกข้อผิดพลาดฉันได้รับ:

ไม่สามารถให้บริการไดเร็กทอรี /var/www/test.prot0type.com/test/: ไม่พบ DirectoryIndex (index.html) ที่ตรงกัน และดัชนีไดเร็กทอรีที่สร้างโดยเซิร์ฟเวอร์ถูกห้ามโดยคำสั่ง Options

ฉันจะค้นหาคำสั่งตัวเลือกใดที่ทำสิ่งนี้ได้อย่างไร ฉันค้นหาไฟล์ conf ทั้งหมดแล้ว แต่ไม่พบ

digijay avatar
mx flag
ดูเหมือนว่าคุณไม่มีการกำหนดค่า VirtualHost สำหรับพอร์ต 443 ดังนั้นคุณจะได้รับ 403 หากคุณพยายามเชื่อมต่อกับพอร์ตนั้น
tgflash avatar
lk flag
แต่มันทำไฟล์เซิร์ฟเวอร์ผ่าน HTTPS สำหรับโฮสต์เสมือนนี้ ปัญหาเดียวคือการกำหนดค่า +ดัชนี ใช้งานได้กับ HTTP เท่านั้น ฉันลองทำซ้ำการกำหนดค่าโฮสต์เสมือนและเปลี่ยนพอร์ตเป็น 443 แต่ก็ไม่ได้ผลเช่นกัน ฉันคิดว่าต้องมีบางอย่างที่แทนที่การตั้งค่าที่อื่นในการกำหนดค่า แต่ฉันค้นหาไฟล์ทั้งหมดแล้วและไม่พบมีวิธีวินิจฉัยว่าคำสั่งมาจากที่ใด?
tgflash avatar
lk flag
แก้ไขคำถามเดิมเพื่อชี้แจงว่าฉันได้ทดสอบอย่างไร
Michael Hampton avatar
cz flag
กรุณาแสดง ` ที่สมบูรณ์` บล็อก
digijay avatar
mx flag
การกำหนดค่า 443 ไม่มีการกำหนดค่า TLS/SSL ทั้งหมด (`SSLEngine On` เป็นต้น)
tgflash avatar
lk flag
อา! ขอบคุณสำหรับคำแนะนำ ตอนนี้ฉันได้แก้ไขมันแล้ว เมื่อตรวจสอบไฟล์ conf ฉันพลาดว่าสคริปต์ certbot สร้าง ssl.conf แยกต่างหากสำหรับแต่ละโฮสต์เสมือน และนั่นคือที่มาของคำสั่งตัวเลือกพิเศษ ในตัวอย่างของฉัน ไฟล์นี้เรียกว่า test.prot0type.com-le-ssl.conf ดังนั้นวิธีแก้ไขคือแก้ไขบล็อกโฮสต์เสมือนในไฟล์นั้นซึ่งมีไว้สำหรับกรณีพอร์ต 443 ดังนั้นตอนนี้รายการไดเร็กทอรีจึงใช้ได้กับทั้ง HHTP และ HTTPS ขอบคุณผู้ที่ชี้ให้ฉันไปในทิศทางที่ถูกต้อง!

โพสต์คำตอบ

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