我正在为我的网站使用HTTPS负载均衡器,如果我访问https://www.vietnamspotlight.com,它运行良好。
但是,如果我使用http
(即http://vietnamspotlight.com)访问URL,那么我总是会从Google收到错误消息,指出未找到请求。
然后,我尝试通过在前端配置会话中添加与HTTP一起使用的新IP,端口和协议来更新负载均衡器。请参阅下面的图像以供参考(HTTP和HTTPS的IP已从图像中删除):
之后,我切换到域提供程序的DNS配置,并尝试添加另一个指向新IP的A记录,以处理HTTP协议的请求。这意味着我在同一主机@
上使用了两个A记录,每个记录指向一个不同的值,一个指向HTTP,另一个指向HTTPS。请参阅下图以供参考(这些值已更改为伪IP地址):
仍然无法正常工作。
答案 0 :(得分:5)
您配置的负载均衡器不正确。您必须为HTTP和HTTPS使用相同的TCP / IP地址。
通过在DNS中为网站配置两个不同的IP地址,实际上是在向客户端提供两个IP地址以供选择。根据客户端和DNS服务器的不同,您的客户端将以循环方式访问一个IP地址或另一个IP地址。当然这不是您想要的。
DNS服务器在做出DNS解析决策时不知道HTTP和HTTPS之间的区别。 DNS服务器将域名转换为IP地址。协议(HTTP / HTTPS)不是翻译决定的一部分。
这意味着您需要使用两个前端配置Google负载均衡器(HTTP(S)负载均衡-第7层)。第一个前端是HTTP,第二个前端是HTTPS。两者都使用相同的IP地址。
重要提示:
重要的一步是在创建负载均衡器之前将静态IP地址创建为全局地址。如果在创建第一个前端的步骤中创建IP地址,则在创建第二个前端时将无法选择相同的IP地址。
删除DNS服务器中的错误条目。您可能需要等待一段时间才能使TTL(生存时间)超时,导致您的DNS条目超时。等待期间,继续下一步。
返回到Google Cloud Console。选择您的负载均衡器。删除您的HTTP前端。保存负载均衡器。现在返回并为HTTP配置一个新的前端,选择与用于HTTPS前端相同的IP地址。