相对URL没有采用父页面的方案/协议?

时间:2015-01-15 20:00:15

标签: html apache http https proxy

我正在使用通过HTTPS加载的网页,其中包含相对网址,例如:

<link rel="stylesheet" href="/css/styles.css">

<script src="/js/script.js">

但是,浏览器拒绝加载这些资产,抛出错误,例如:

混合内容:&#39; https://www.example.com/search&#39;是通过HTTPS加载的,但请求了一个不安全的脚本......


我怀疑这个页面的独特之处可能是使问题复杂化,因为它在Apache中被设置为反向代理:

<VirtualHost _default_:443>
    ProxyRequests off
    ProxyPass /search http://10.0.0.50/search
    ProxyPassReverse /search http://10.0.0.50/search
    ...
</VirtualHost>

<Location /search/>
    ProxyPassReverse /search
</Location>

此外,我有一个重写规则将所有http流量重定向到https;但这并不会影响浏览器加载资产的倾向:

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

父页面的HTML完全在初始请求中提供,不涉及iframe或重定向。

为什么浏览器根据父页面的方案加载相对URL? 如果/如何代理配置会改变这种行为,对我来说没有意义。

此外,我是否可以使用mod_filter重写通过代理服务的文档中的URL?

任何想法都会非常感激!

0 个答案:

没有答案