วิธีปิดใช้งานการเชื่อมต่อที่ไม่ใช่ ssl บน Apache 2.2


10

ฉันใช้ Apache 2.2 กับ 12.04 ฉันได้เปิดใช้งานการเชื่อมต่อsslกับใบรับรองที่ลงนามเองซึ่งทำงานได้ดี แต่ตอนนี้ฉันต้องการปิดการเชื่อมต่อที่ไม่ใช่ ssl

ฉันใช้ a2dissiteค่าเริ่มต้น แต่เซิร์ฟเวอร์ยังคงสามารถเข้าถึงได้บนพอร์ต80แม้หลังจากรีสตาร์ทเซิร์ฟเวอร์

โปรดช่วยฉันในเรื่องนี้

คำตอบ:


10

ในที่สุดฉันก็ใช้งานได้:

นอกเหนือจากการปิดใช้งานหน้าเริ่มต้นด้วย: a2dissite defaultฉันได้แก้ไข/etc/apache2/ports.confและใส่ความคิดเห็นในบรรทัดต่อไปนี้:

NameVirtualHost *:80  
Listen 80

9

ความคิดที่ดีกว่าคือการคง "การเชื่อมต่อที่ไม่ใช่ SSL" (http) แต่เปลี่ยนเส้นทางไปยังโฮสต์เสมือน SSL ของคุณอย่างถาวร (https) ในกรณีนี้.confไฟล์จะต้องมีลักษณะดังนี้:

<VirtualHost *:80>

        ServerName www.example.com
        ServerAdmin admin@example.com

        # Redirect Requests to SSL
        Redirect permanent "/" "https://www.example.com/"

        ErrorLog ${APACHE_LOG_DIR}/example.com.error.log
        CustomLog ${APACHE_LOG_DIR}/example.com.access.log combined

</VirtualHost>


<IfModule mod_ssl.c>

        <VirtualHost _default_:443>

                ServerName www.example.com
                ServerAdmin admin@example.com

                DocumentRoot /var/www/html/www.example.com

                ErrorLog ${APACHE_LOG_DIR}/example.com.error.log
                CustomLog ${APACHE_LOG_DIR}/example.com.access.log combined

                SSLEngine on

                # other configuration directives...

        </VirtualHost>

</IfModule>

หัวข้อที่เกี่ยวข้อง:


คุณขออธิบายอย่างละเอียดว่าเหตุใดจึงเป็นความคิดที่ดีกว่าที่จะไม่ปิดใช้งาน HTTP ฉันกำลังตรวจสอบข้อดีและข้อเสียของการปิดใช้งานพอร์ต 80
Marco Marsala

5
@MarcoMarsala ในกรณีส่วนใหญ่เมื่อ HTTP (พอร์ต 80) ถูกปิดใช้งานและคุณพิมพ์ในเบราว์เซอร์http://your.domain.com(หรือเพียงแค่your.domain.com) คุณจะได้รับ "ไม่พบหน้า" - เว้นแต่คุณจะพิมพ์https://your.domain.com...
pa4080
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.