Рейтинг: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 (ОК)

Почему перенаправления работают так, как они есть? Как я могу это исправить?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.