我有一个EC2实例,该实例托管在IIS中运行的网站。我还使用HTTPS侦听器设置了一个AWS Application Load Balancer,并在其中添加了网站的SSL证书(保存在AWS Certificate Manager中)。 HTTPS侦听器将流量重定向到我的目标组,该目标组又指向我的EC2实例。 EC2实例使用安全组仅允许来自负载均衡器的流量。
首先,我是否认为应用程序负载平衡器解密SSL流量是正确的,因此,它会使用HTTP转发给我的目标组(换句话说,我的EC2实例的安全组只需要接受来自负载均衡器,我可以从IIS中删除我的SSL证书?
其次,我目前遇到的主要问题是该站点具有指向某些资源(CSS,JavaScript等)的相对路径。结果,当我浏览站点时,我的FireFox控制台出现混合内容错误。我在负载均衡器中设置了HTTP侦听器,以将流量重定向到HTTPS,但这似乎不适用于相对路径。
我不是特别想编辑站点以将相对路径更改为完全限定的HTTPS URL,因为它是一个非常复杂的内容管理系统。另外,在使用Load Balancer之前,该站点可以完美地提供内容(DNS条目指向我的EC2实例的公共IP地址,并且IIS中存在一个重写规则来处理非HTTPS流量)。
任何建议将不胜感激。
答案 0 :(得分:0)
对于您的第一个查询,我认为是。您可以从IIS中删除我的SSL证书,并指向EC2实例的安全组以接受来自负载均衡器的HTTP通信。
对于您对相对路径问题的关注,请访问以下链接:After introducing ALB, Mixed Content Error happened
我认为这会有所帮助。
答案 1 :(得分:0)
打开浏览器,然后单击“网络”选项卡,然后检查这些调用是否应该在使用HTTP
的其他地方进行,这些是您应用程序发出的呼叫,重定向无法解决这些问题。看截图
在您的情况下,似乎是相同的错误,您是从另一端而不是从EC2提供图像,这意味着EC2服务器应该回答的那些请求可以正常工作,但是您的代码尝试拉出JS文件或其他资源都是拨出电话,与LB重定向规则无关。
更好地更新您的应用程序和所有URL到https。
当用户访问通过HTTPS服务的页面时,他们与 Web服务器使用TLS加密,因此可以防止 大多数嗅探器和中间人攻击。一个HTTPS页面 包含使用明文HTTP提取的内容称为混合 内容页。这样的页面仅被部分加密, 嗅探者和中间人可以访问的未加密内容 攻击者。这会使页面不安全。
答案 2 :(得分:0)
感谢您的答复。我设法进入第二期的底部。该网站的web.config具有一个重写规则,该规则强制URL转换为小写字母(与SEO有关)。提供CSS和JS文件时,这会导致问题。我已经对该规则进行了必要的更新,现在看来可以正常工作(请参阅IIS URL重写模块URL的小写形式。)
对于第一个问题,不需要在IIS Web服务器上安装SSL证书-仅在AWS Certificate Manager中需要它们,然后将其分配给负载平衡器,该负载平衡器又具有2个侦听器-一个用于定向向我的目标组发送HTTPS流量,然后将HTTP流量重定向到HTTPS。
我的IIS站点现在仅具有HTTP绑定,并且仅接受来自负载均衡器的HTTP通信。
一切似乎都正常!