当前位置: 首页 > 知识库问答 >
问题:

应用型负载均衡重定向

程智明
2023-03-14

我有一个EC2实例,它托管一个在IIS中运行的网站。我还设置了一个带有HTTPS侦听器的AWS应用程序负载平衡器,并在其中添加了网站的SSL证书(保存在AWS证书管理器中)。HTTPS侦听器将流量重定向到我的目标组,目标组又指向我的EC2实例。EC2实例使用安全组只允许来自负载平衡器的流量。

首先,我是否正确地认为应用程序负载平衡器会解密SSL流量,从而使用HTTP将其转发到我的目标组(换句话说,我的EC2实例的安全组只需要接受来自负载平衡器的HTTP流量,我可以从IIS中删除我的SSL证书)?

其次,我目前遇到的主要问题是该网站有一些资源(CSS、JavaScript等)的相对路径。因此,当我浏览网站时,我的FireFox控制台中出现了混合内容错误。我在我的负载均衡器中设置了一个HTTP侦听器来将流量重定向到HTTPS,但这似乎不适用于相对路径。

我特别不想编辑该站点来更改到完全合格HTTPS URL的相对路径,因为它是一个非常复杂的内容管理html" target="_blank">系统。此外,在使用负载平衡器之前,该站点提供了完美的内容服务(DNS条目指向我的EC2实例的公共IP地址,IIS中有一个重写规则来处理非HTTPS流量)。

如有任何建议,将不胜感激。

共有3个答案

况庆
2023-03-14

感谢您的回复。我设法弄清了第二个问题的真相。网站的web。config有一个重写规则,强制URL使用小写(与SEO有关)。这导致了在提供CSS和JS文件时出现问题。我已经对该规则进行了必要的更新,现在它似乎可以工作了(请参阅IIS URL将模块URL重写为小写)。

对于第一个问题,SSL证书不需要安装在IIS Web服务器上-它们只在AWS证书管理器中需要,然后分配给负载均衡器,负载均衡器又有2个侦听器-一个用于将HTTPS流量定向到我的目标组,一个用于将HTTP流量重定向到HTTPS。

我的IIS站点现在只有HTTP绑定,并且只接受来自负载均衡器的HTTP流量。

一切似乎都起作用了!

鲜于德业
2023-03-14

打开浏览器并单击网络选项卡并检查这些调用应该是使用HTTP的其他地方,这些是来自您的应用程序的传出调用,重定向无法解决这些问题。请参阅屏幕截图

在您的情况下似乎存在相同的错误,您从其他方面提供图像,而不是来自EC2,这意味着EC2服务器应该响应的那些请求将正常工作,但您的代码尝试拉取JS文件或其他资源的那些是传出呼叫,这与LB重定向规则无关。

最好将应用程序和所有URL更新为https。

用户访问通过HTTPS提供的页面时,他们与Web服务器的连接会使用TLS加密,因此可以防止大多数嗅探器和中间人攻击。包含使用明文HTTP获取的内容的HTTPS页面称为混合内容页面。像这样的页面只是部分加密,嗅探器和中间人攻击者可以访问未加密的内容。这使页面不安全。

房唯
2023-03-14

对于您的第一个查询,我认为是的。您可以从IIS中删除我的SSL证书并指向EC2实例的安全组以接受来自负载均衡器的HTTP流量。

为了您对相对路径问题的关注,请通过以下链接:引入ALB后,发生了混合内容错误

我认为这会很有帮助。

 类似资料:
  • 是否有一种解决方案可以将一小部分流量重定向到AWS应用程序负载平衡器? 10%- 90%- (ALB或目标群体) 谢谢你的帮助

  • 是否需要检查在EKS中创建的入口资源和由AWS负载均衡器控制器创建的应用程序负载均衡器之间的映射? 我的理解是AWS LBC为类“alb”的入口创建了ALB。删除入口资源后,应该删除此ALB。 但这种情况有时不会发生。可能是因为我搞乱了其他相关资源,比如statefulset、service或pod。(或者可能是由于重复部署而没有首先删除?) 那么,有没有办法在AWS中查看入口和相应ALB之间的链

  • 负载均衡(Load balancing)是一种计算机网络技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中分配负载,以达到最佳化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的。 使用带有负载均衡的多个服务器组件,取代单一的组件,可以通过冗余提高可靠性。负载均衡服务通常是由专用软体和硬件来完成。 负载均衡最重要的一个应用是利用多台服务器提供单一服务,这种方案有

  • 负载均衡包括负载均衡实例、访问控制及证书。 实例 负载均衡实例是一个运行的负载均衡服务,通过设置的虚拟IP接收流量并将其转发分配给后端服务器。 访问控制 访问控制用于设置访问负载均衡的IP白名单或IP黑名单。 证书 当在负载均衡实例上配置HTTPS监听转发来自HTTPS协议的请求时,需要配置证书。

  • 一个简单的负载均衡的示例,把www.domain.com均衡到本机不同的端口,也可以改为均衡到不同的地址上。> http { : upstream myproject { : server 127.0.0.1:8000 weight=3; : server 127.0.0.1:8001; : server 127.0.0.1:8002; : server 127.0.0.1:8003; : }

  • SOFARPC 提供多种负载均衡算法,目前支持以下五种: 类型 名称 描述 random 随机算法 默认负载均衡算法。 localPref 本地优先算法 优先发现是否本机发布了该服务,如果没有再采用随机算法。 roundRobin 轮询算法 方法级别的轮询,各个方法间各自轮询,互不影响。 consistentHash 一致性hash算法 同样的方法级别的请求会路由到同样的节点。 weightRou