Обратный прокси-сервер 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, если это может быть полезно, просто скажите!)

Спасибо!

2 ответа

Решение

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

Причина может быть найдена вне вашей конфигурации 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"

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

Другие вопросы по тегам