Google Cloud Engine:使用HTTPS负载平衡器时,如何在端口80上路由流量

pet*_*who 0 dns load-balancing google-cloud-platform

我正在为我的网站使用HTTPS负载平衡器,如果我访问:https : //www.vietnamspotlight.com,它将运行良好。

但是,如果我使用来访问URL http,即http://vietnamspotlight.com,那么我总是会从Google收到错误消息,指出未找到请求。

然后,我尝试通过在前端配置会话中添加与HTTP一起使用的新IP,端口和协议来更新负载均衡器。请参阅下面的图像以供参考(HTTP和HTTPS的IP已从图像中删除):

负载均衡器设置

之后,我切换到域提供程序的DNS配置,并尝试添加另一个指向新IP的A记录,以处理HTTP协议的请求。这意味着我在同一主机上使用两个A记录@,每个记录指向一个不同的值,一个指向HTTP,另一个指向HTTPS。请参阅下图以供参考(这些值已更改为伪IP地址):

DNS设置

仍然不起作用。

Joh*_*ley 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地址。