Redirect 使用带有两个IP-s的Google云负载平衡器重定向到HTTPS
我正试图在Google负载均衡器的帮助下设置HTTPS。我创建了实例组、前端、后端、运行状况检查器和实际的负载平衡器。 我设置了两个前端,一个用于端口80上的HTTP,另一个用于端口443上的HTTPS。它们分别具有不同的IP-s 然后我将我的DNS指向我的IP的HTTPS(443)版本 当我将浏览器直接指向 但是,当我使用非安全协议时,我希望将用户重定向到安全连接。经过一些阅读,我了解到,实现这一点的唯一方法是直接从node.js应用程序(或nginx)进行。我要做的是检查Redirect 使用带有两个IP-s的Google云负载平衡器重定向到HTTPS,redirect,load-balancing,google-compute-engine,gcloud,Redirect,Load Balancing,Google Compute Engine,Gcloud,我正试图在Google负载均衡器的帮助下设置HTTPS。我创建了实例组、前端、后端、运行状况检查器和实际的负载平衡器。 我设置了两个前端,一个用于端口80上的HTTP,另一个用于端口443上的HTTPS。它们分别具有不同的IP-s 然后我将我的DNS指向我的IP的HTTPS(443)版本 当我将浏览器直接指向 但是,当我使用非安全协议时,我希望将用户重定向到安全连接。经过一些阅读,我了解到,实现这一点的唯一方法是直接从node.js应用程序(或nginx)进行。我要做的是检查req.header
req.headers['x-forwarded-proto']
是否为false,并重定向到'https://'+global.config.hostname+req.url
global.config.hostname
设置为example.com
primoz@static-server[master]$ wget http://example.com
--2017-08-30 10:13:12-- http://example.com/
Resolving example.com... 35.196.241.151
Connecting to example.com|35.196.241.151|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2017-08-30 10:13:12 ERROR 404: Not Found.
35.196.241.151是我的负载平衡器设置中侦听端口443的HTTPS IP示例
在我看来,重定向试图通过端口80访问我的安全HTTPS IP,但无法访问
我错过了什么 这就是我发现的 这是很多人都有的一个常见问题,看看这个问题线索,人们都在请求一个更简单的方法来设置它
我通过为HTTP和HTTPS前端设置静态IP而不是临时IP解决了这个问题。这样,它们都具有相同的IP,并且节点应用程序或nginx中的重定向正常工作 您是如何将两个前端分配到同一ip地址的?似乎不是possible@Rondo一个使用HTTP,另一个使用HTTPS协议。但首先,您必须在GCP的外部IP地址部分创建新的静态IP。这似乎不能反映典型web架构的现实情况,不是吗?如何设置DNS,使两个端口由相同的fqdn提供服务?循环DNS不仅仅是不理想的,在某些情况下,它可能会导致混乱。您不需要将DNS设置到任何端口,它只指向静态IP地址。我在使用nginx的实际服务器上设置了HTTP到HTTPS重定向。我知道DNS是如何工作的。让我这样说:我需要同一FQDN上的端口80和443都由一个负载平衡器处理。显然,您必须在两个单独的服务上设置两个IP地址:每个端口一个。如果这不是真的,plz将解释如何使用一项服务实现这一点。