HSTS和使用Javascript访问子域

时间:2016-01-13 16:47:18

标签: javascript https hsts

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

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

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

这是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-Header:

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

1 个答案:

答案 0 :(得分:0)

HSTS的唯一影响是在发送之前将http请求重写为https。

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