在AWS中使用Application Load Balancer(ALB)时出现混合内容问题

时间:2019-01-14 20:52:57

标签: asp.net amazon-web-services ssl iis mixed-content

我在IIS上托管了一个ASP.Net Web应用程序。 Web应用程序(Umbraco站点)配置为在IIS中具有HTTP绑定,并且SSL证书绑定到AWS中的应用程序负载均衡器(ALB),该负载均衡器用于通过HTTPS管理用户请求。这意味着,当用户请求资源时,ALB将所有HTTP流量重定向到HTTPS,然后通过端口80(VPC内部的流量)将请求转发到IIS。

对于大多数资源来说,这绝对可以,但是似乎有少量资源(字体和图像)似乎是通过HTTP请求的,这会在浏览器中引起混合内容警告。我已经尝试过使用IIS中的HTTP-> HTTPS重写规则和出站规则来重写响应,但这似乎无法解决问题。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

问题的解决方案是,以HTTPS而不是HTTP的形式在本地运行Web应用程序,并更新负载均衡器以将请求转发到端口443而不是端口80上的Web服务器。

要这样做

  • 在IIS上创建开发SSL证书。我没有创建自签名证书,而是使用了这个项目(https://github.com/FiloSottile/mkcert)来确保证书被删除。
  • 在AWS中,更新ALB侦听器用来将请求转发到端口443而不是端口80上的IIS服务器的目标组。
相关问题