2017-08-30 14 views
2

Googleロードバランサの助けを借りてHTTPSを設定しようとしています。インスタンスグループ、フロントエンド、バックエンド、ヘルスチェッカー、実際のロードバランサを作成しました。 私は、ポート80でHTTPとポート443でHTTPSの2つのフロントエンドを設定しました。それぞれ、異なるIP-sを持っています。Google Cloud Load Balancerを2つのIP-sで使用してHTTPSにリダイレクト

私は私のIPのHTTPS(443)バージョンに私のDNSを指していました。私はhttps://example.comしかし

に直接私のブラウザをポイントしたときに

それは私が非セキュアプロトコルを使用している場合、私は接続を確保するためにユーザーをリダイレクトする、素晴らしい作品。いくつかの読書の後、私はこれを行う唯一の方法は私のnode.jsアプリ(またはnginx)から直接であることを学びました。私は何をreq.headers['x-forwarded-proto']がfalseの場合はチェックして、'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

私はHTTPとHTTPSのフロントエンドのための代わりに一時的なIPの静的IPを設定することによって、これを修正しました。このようにして、彼らは両方とも同じIPを持ち、あなたのノードのアプリケーションやnginxの内部でのリダイレクトは必要なように動作します。

関連する問題