2016-01-13 42 views
0

几个星期前,我将主页移至仅https,并启用了HSTS。在一个页面上,我有一些JavaScript代码通过http请求从子域获取内容。在启用https之前,这很有效。我也在javascript代码中将http协议更改为https。但这不是一个解决方案。HSTS和使用Javascript访问子域名

HTTPS是否限制对子域的访问还是HSTS?

有没有办法允许访问子域?

这里IST的JavaScript的代码:

<script type="text/javascript" src="/jquery-1.11.0.min.js"></script> 
<script> 
$("#ipv4").show().load('https://ipv4.mydomain.com/myip/' 
, {limit: 25}, 
    function (responseText, textStatus, req) { 
    if (textStatus == "error") { 
     $("#ipv4").html("Kein IPv4"); 
    } 
    } 
); 
$("#ipv6").show().load('https://ipv6.mydomain.com/myip/' 
, {limit: 25}, 
    function (responseText, textStatus, req) { 
    if (textStatus == "error") { 
     $("#ipv6").html("Kein IPv6"); 
    } 
    } 
); 
</script> 

这是HSTS-标题:

Strict-Transport-Security: max-age=31556926; includeSubDomains; preload 
+0

什么是您的HSTS头? – Tom

+0

我已在我的文章中添加了HSTS标头,并且子域也具有有效的证书。 – Teddy

+0

因此hsts适用于您的子域名。 ssllabs对他们说什么? – Tom

回答

0

HSTS的唯一影响就是把他们之前重写HTTP请求到https。

因此,您的子域必须回答https请求才能工作。