2017-08-30 34 views
2

我試圖在Google負載均衡器的幫助下設置HTTPS。我創建了實例組,前端,後端,健康檢查器和實際負載平衡器。 我在端口80上爲HTTP設置了兩個前端,在端口443上設置了HTTPS。它們分別具有不同的IP-s。使用具有兩個IP-s的Google雲負載平衡器重定向到HTTPS

然後我指出我的DNS到我的IP的HTTPS(443)版本。

,當我直接點我的瀏覽器https://example.com

但是它的偉大工程,當我使用不安全的協議,我想將用戶重定向到安全連接。經過一番閱讀後,我瞭解到,唯一的方法是直接從我的node.js應用程序(或nginx)中獲取。我做的是檢查是否req.headers['x-forwarded-proto']是假的,並重定向到'https://' + global.config.hostname + req.url

global.config.hostname設置爲example.com

[email protected][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,它不可訪問。

我在這裏錯過了什麼?

回答

1

這就是我發現的。

這是一個很多人都有的常見問題,看看這個問題的線索,人們要求一個更簡單的方法來設置它。

https://issuetracker.google.com/issues/35904733

我通過設置靜態IP,而不是短暫的IP HTTP和HTTPS前端固定這一點。這樣,它們都具有相同的IP,並且節點應用程序或nginx中的重定向工作正常。

相關問題