Score:0

การกำหนดค่า Apache2 เพื่อเปลี่ยนเส้นทางคำขอโดยโฮสต์เป็น IP

ธง us

ฉันมีการกำหนดค่า Apache2 ต่อไปนี้:

000-default.conf

<VirtualHost _default_:80>
        RewriteEngine on
        RewriteRule ^ https://example.com [END,NE,R=permanent]
</VirtualHost>

<IfModule mod_ssl.c>
<VirtualHost _default_:443>
        SSLEngine on
        SSLCertificateFile     /etc/ssl/certs/ssl-cert-snakeoil.pem
        SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

        RewriteEngine on
        RewriteRule ^ https://example.com [END,NE,R=permanent]
</VirtualHost>
</IfModule>

ตัวอย่าง.com.conf

<VirtualHost *:80>
        ServerName example.com

        RewriteEngine on
        RewriteCond %{SERVER_NAME} =example.com
        RewriteRule ^(.*)$ https://example.com$1 [END,NE,R]
</VirtualHost>

<IfModule mod_ssl.c>
<VirtualHost *:443>
        ServerName example.com

        <IfModule mpm_itk_module>
                AssignUserId someuser someuser
        </IfModule>

        <Directory /something>
                <Files "wsgi.py">
                        Require all granted
                </Files>
        </Directory>

        WSGIDaemonProcess example.com python-path=/something:/something/python3.9/site-packages socket-user=someuser user=someuser group=someuser
        WSGIProcessGroup example.com
        WSGIScriptAlias / /something/wsgi.py

        SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
        Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>

เป้าหมายของฉันคือมีสิ่งต่อไปนี้ (ที่ /XXX เป็นเส้นทางใดก็ได้):

https://example.com/XXX -> ให้บริการโดย WSGI
https://example.com/XXX -> เปลี่ยนเส้นทางไปที่ https://example.com/XXX
อย่างอื่น -> เปลี่ยนเส้นทางไปที่ https://example.com

อีกทางเลือกหนึ่ง ฉันจะมีความสุขมากยิ่งขึ้นด้วย อย่างอื่น เพียงแค่ให้ HTTP 404 หรือ HTTP 403

อย่างไรก็ตาม การกำหนดค่านี้ให้ผลลัพธ์ต่อไปนี้ (สมมติว่าที่อยู่ IP สาธารณะคือ 1.2.3.4):

http://1.2.3.4/XXX -> เปลี่ยนเส้นทางไปที่ https://example.com (ตกลง) 
https://1.2.3.4/XXX -> ให้บริการโดย WSGI (ผิด)
http://example.com/XXX -> เปลี่ยนเส้นทางไปที่ https://example.com (ผิด)
https://example.com/XXX -> ให้บริการโดย WSGI (ตกลง)

เหตุใดการเปลี่ยนเส้นทางจึงทำงานเหมือนเดิม ฉันจะแก้ไขได้อย่างไร

โพสต์คำตอบ

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