Назад | Перейти на главную страницу

обратный прокси apache2, проблема с перезаписью

Я постоянно говорю себе, что это должно быть просто. Предыстория: у меня был настроен сайт (https://example.com) с помощью Let's Encrypt для настройки SSL. Прекрасно работает. Я добавил новый сервер во внутреннюю сеть с другим сайтом, без настройки SSL. Прекрасно работает. Пора добавить его как поддомен (http://sub1.example.com) Я думал, что простой обратный прокси в Apache поможет. НО ... когда я иду в http://sub1.example.com Меня перенаправляют на https://sub1.example.com... Что не работает по понятным причинам.

default.conf -

<VirtualHost *:80>
ServerName example.com       
DocumentRoot /var/www/html

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

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

(Я почти уверен, что это мешает правило перезаписи, но не знаю, как это исправить?)

Sub1.conf:

<VirtualHost *:80>
ServerName sub1.example.com
<Proxy *>
    Order deny,allow
    Allow from all
</Proxy>

<Location />
    ProxyPass http://10.10.10.145/
    ProxyPassReverse http://10.10.10.145/
</Location>

</VirtualHost>

Итак ... Что мне не хватает? (Я также могу включить файл default-ssl.conf, если он может быть полезен, просто скажите об этом!)

Спасибо!

В опубликованной вами конфигурации нет ничего, что могло бы вызвать перенаправление.

Причина может быть найдена за пределами вашей конфигурации Apache в любой конфигурации вашего целевого URL-адреса ProxyPass. http://10.10.10.145/ или может быть, у вас есть HSTS настроен на вашем основном домене example.com с includeSubDomains политика.
Это применит политику example.com к sub1.example.com и "правильно" "неправильный URL" прямо в браузере и измените их с http на httpS.

Тестируйте из окна в режиме инкогнито или из простой командной строки curl -v sub1.example.com

HBruijn был прав. Я заглянул в дополнительный файл .conf, загружает Let's Encrypt (/etc/letsencrypt/options-ssl-apache.conf), и там было достаточно HSTS с «includeSubDomains».

Я знал, что мне не хватает чего-то простого. Спасибо вам, ребята!