Mod-Rewrite

apache2反向代理,重寫問題

  • August 8, 2018

我一直告訴自己這應該很簡單。背景:我使用 Let’s Encrypt 設置了一個站點 ( https://example.com ) 進行 SSL 設置。效果很好。我用另一個站點向內部網路添加了一個新伺服器,根本沒有設置 SSL。效果很好。是時候將它添加為子域 ( http://sub1.example.com ) 我認為 Apache 中的簡單反向代理可以解決問題。但是…當我轉到http://sub1.example.com>時,我被重定向到<https://sub1.example.com …由於顯而易見的原因,這不起作用。

預設.conf -

&lt;VirtualHost *:80&gt;
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]
&lt;/VirtualHost&gt;

(我很確定這是重寫規則乾擾,但不知道如何解決它?)

子1.conf:

&lt;VirtualHost *:80&gt;
ServerName sub1.example.com
&lt;Proxy *&gt;
   Order deny,allow
   Allow from all
&lt;/Proxy&gt;

&lt;Location /&gt;
   ProxyPass http://10.10.10.145/
   ProxyPassReverse http://10.10.10.145/
&lt;/Location&gt;

&lt;/VirtualHost&gt;

所以……我錯過了什麼?(如果它可能有幫助,我也可以包含 default-ssl.conf 文件,就這麼說吧!)

謝謝!

您發布的配置中沒有任何內容會觸發重定向。

在 ProxyPass 目標 URL 的配置中可能會在 Apache 配置之外找到一個原因,http://10.10.10.145/或者可能是您 在主域 example.com 上使用策略配置了HSTS 。 這會將 example.com 的策略應用到 sub1.example.com 並直接在您的瀏覽器中“更正” “不正確的 URL”,並將它們從 http 更改為 httpS。includeSubDomains

從隱身視窗或簡單的命令行進行測試curl -v sub1.example.com

引用自:https://serverfault.com/questions/925368