Обратный прокси-сервер 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"
Я знал, что мне не хватает чего-то простого. Спасибо вам, ребята!