[解決済み] CloudFrontがオリジンに接続できなかった
質問内容
Cloudfrontをhttpで正しくセットアップした。それは私のウェブサイト(dev.pie.video)からデータをうまくフェッチしました。私は今httpsに移行しています。で正常に動作しています。
https://dev.pie.video
が、Cloudfrontはどのコンテンツもサーバにできない。
例えば
https://dev.pie.video/favicon-96x96.png
は機能しますが
https://d1mbpc40mdbs3p.cloudfront.net/favicon-96x96.png
はステータス 502 で失敗します。
d1mbpc40mdbs3p
を指しています。
dev.pie.video
.
参考になればもっと詳しく。
-
d1mbpc40mdbs3p.cloudfront.net
はデフォルトのCloudFront証明書をhttpsに使用します。 - cloudfront ディストリビューションのオリジンは SSL と TLS で動作するように設定されており、ビューワのプロトコルを使用するようになっています。
===== 編集1 ===== 編集
cloudfrontの設定のスクリーンショットです。
原点です。
ビヘイビア
==== 編集2 ===== 編集
参考までに、cloudfrontから取得したログは以下のような感じです。
<timestamp> SFO20 924 96.90.217.130 GET d1mbpc40mdbs3p.cloudfront.net /favicon-96x96.png 502 - <someInfoOnTheClientBrowser> 2 - Error poZyhl63JNGFk8dIIjCluGDm4dxF8EdMZFhjg82NgHGPNqcmx6ArHA== d1mbpc40mdbs3p.cloudfront.net https 494 0.002 - TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256 Error HTTP/1.1
解決方法は?
オリジンサーバーのSSL設定が間違っている。 CloudFrontは有効な設定を要求し、一部のブラウザよりも厳しい場合があります。そのため、ブラウザで緑色のロックがかかっていても、SSL設定が完全であり、すべてのクライアントと互換性があるとは限りません。
$ true | openssl s_client -connect dev.pie.video:443 -showcerts
CONNECTED(00000003)
depth=0 OU = Domain Control Validated, CN = dev.pie.video
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 OU = Domain Control Validated, CN = dev.pie.video
verify error:num=27:certificate not trusted
verify return:1
depth=0 OU = Domain Control Validated, CN = dev.pie.video
verify error:num=21:unable to verify the first certificate
verify return:1
---
Certificate chain
0 s:/OU=Domain Control Validated/CN=dev.pie.video
i:/C=US/ST=Arizona/L=Scottsdale/O=GoDaddy.com, Inc./OU=http://certs.godaddy.com/repository//CN=Go Daddy Secure Certificate Authority - G2
-----BEGIN CERTIFICATE-----
MIIFMzCCBBugAwIBAgIJAL96wtFpu1ZpMA0GCSqGSIb3DQEBCwUAMIG0MQswCQYD
VQQGEwJVUzEQMA4GA1UECBMHQXJpem9uYTETMBEGA1UEBxMKU2NvdHRzZGFsZTEa
MBgGA1UEChMRR29EYWRkeS5jb20sIEluYy4xLTArBgNVBAsTJGh0dHA6Ly9jZXJ0
cy5nb2RhZGR5LmNvbS9yZXBvc2l0b3J5LzEzMDEGA1UEAxMqR28gRGFkZHkgU2Vj
dXJlIENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTE2MDgwODE4MzQ0MFoX
DTE3MDgwODE4MzQ0MFowOzEhMB8GA1UECxMYRG9tYWluIENvbnRyb2wgVmFsaWRh
dGVkMRYwFAYDVQQDEw1kZXYucGllLnZpZGVvMIIBIjANBgkqhkiG9w0BAQEFAAOC
AQ8AMIIBCgKCAQEAz/wT5j/zHKzmt3oRvst74Knqxc0pl3sp5imUJ7UegoxcTISm
xJC5qQiDsD0U08kAFxvXDd91jlozh4QDcfLE8N7X9fsxC7OW2pDv3ks/LO7tiCxn
gNmxjvYvOQ/vASrLHIal+oGWJNdBMB1eckV4xHCeBDDEizDneq/qvjN0M0k5hQ+/
qk7RjVhJUmFAfvhXpxXaCbVDq1d3V1iRBo3oP3SGV++bj/m55QPFfKCZqGPTiM5G
c9+8ru16EVCpvs0wCWBVxjTiOCGtrMLgvp9LOs8AN369Yk/3AynpgAI0DDhb5y8I
KEuCdbUaIg5Zo029iZz4nWRsZFd5CSwgX8tZNQIDAQABo4IBvjCCAbowDAYDVR0T
AQH/BAIwADAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDgYDVR0PAQH/
BAQDAgWgMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly9jcmwuZ29kYWRkeS5jb20v
Z2RpZzJzMS0yODIuY3JsMF0GA1UdIARWMFQwSAYLYIZIAYb9bQEHFwEwOTA3Bggr
BgEFBQcCARYraHR0cDovL2NlcnRpZmljYXRlcy5nb2RhZGR5LmNvbS9yZXBvc2l0
b3J5LzAIBgZngQwBAgEwdgYIKwYBBQUHAQEEajBoMCQGCCsGAQUFBzABhhhodHRw
Oi8vb2NzcC5nb2RhZGR5LmNvbS8wQAYIKwYBBQUHMAKGNGh0dHA6Ly9jZXJ0aWZp
Y2F0ZXMuZ29kYWRkeS5jb20vcmVwb3NpdG9yeS9nZGlnMi5jcnQwHwYDVR0jBBgw
FoAUQMK9J47MNIMwojPX+2yz8LQsgM4wKwYDVR0RBCQwIoINZGV2LnBpZS52aWRl
b4IRd3d3LmRldi5waWUudmlkZW8wHQYDVR0OBBYEFEPW+uDOOtZfUEdXuBs+960C
zQRKMA0GCSqGSIb3DQEBCwUAA4IBAQBLkLYJEc9E+IGv6pXaPCcYowJfji651Ju6
3DNzGXdyWfOXG+UVCMtPZuC9J66dID4Rc7HWzLveTPEI32z4IgtSjvRwRk9YyWVx
uCOpsP3e/Vgriwg5ds4NyrelQfshA3KaiTLohuiVEOBZgZgIwBEmwR2ZNFuL375E
uEn909zF9+sGkTbFnMm1zlqB2oh2UlSkUT3mj009vWF416W6kZQdFFFEmaI8uSmo
+Thd8HSxQytzWvB3dR4lCteiC09lkQPHU5t10tPgK9BtkLv05ICQQoDhFJmLeAcC
WNEmCcDnSHPxXjPi8kcyM6aqNofL1D0e1pYYvcpYQQDayWdY3tUh
-----END CERTIFICATE-----
---
Server certificate
subject=/OU=Domain Control Validated/CN=dev.pie.video
issuer=/C=US/ST=Arizona/L=Scottsdale/O=GoDaddy.com, Inc./OU=http://certs.godaddy.com/repository//CN=Go Daddy Secure Certificate Authority - G2
---
No client certificate CA names sent
---
SSL handshake has read 2010 bytes and written 431 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES128-GCM-SHA256
Server public key is 2048 bit
...clipped...
あなたの証明書は中間証明書である "Go Daddy Secure Certificate Authority - G2" によって署名されており(ルートではない)、あなたのサーバーにその中間証明書がインストールされていないため、CloudFrontは接続不可と報告しますが、実際には、セキュリティ対策として、あなたのSSL証明書の有効性を確認できないため、接続不可と報告しているのです。 これは、SSLネゴシエーションの失敗として、Webサーバーのログに表示されます。 接続自体は機能していますが、CloudFrontはそれを無効とみなし、信頼の問題から使用するのは安全ではありません。
<ブロッククオート注意事項
オリジンサーバーが期限切れの証明書、無効な証明書、自己署名証明書を返した場合、またはオリジンサーバーが証明書チェーンを誤った順序で返した場合、CloudFrontはTCP接続を切断し、HTTPエラーコード502を返し、証明書チェーンが正しく設定されるように設定します。
X-Cache
ヘッダーを
Error from cloudfront
.
http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/SecureConnections.html
中間証明書をサーバーの設定に追加すれば、設定完了です。 これは証明書をダウンロードしたときに同梱されているはずですが、そうでない場合は、CA(この場合はGo Daddy)から取得できます。
これはGo Daddyの証明書に限ったことではありません。 標準的なプラクティスに従うすべてのCAは、中間証明書を使用して、信頼できるルートに戻る信頼の連鎖を確立しています。
こちらもご覧ください。
https://www.godaddy.com/help/what-is-an-intermediate-certificate-868
関連
-
[解決済み】AWS DynamoDBとAWS DocumentDBの違い(新規サービス)?[解決済み】AWS DynamoDBとAWS DocumentDBの違いについて]
-
[解決済み] AzureにはAWSのCloudFormationのようなIaCツールはあるのでしょうか?[クローズド]
-
[解決済み] AMI保管コスト
-
[解決済み] DynamoDBでカラムを追加する方法
-
[解決済み] AWS KinesisとEventBridgeの違いは何ですか?
-
[解決済み] G.1XおよびG.2XのAWS Glue Workerの価格詳細について
-
[解決済み] ウェブサイトがAmazonネームサーバーを持っているが、別のサーバーでホストされている方法
-
[解決済み] s3バケットから複数ファイルをコピーする
-
[解決済み] AWSの169.254.169.254IPアドレスは何が特別なのか?[クローズド]
-
[解決済み】Amazon CloudfrontとS3の使い分けについて
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Amazon S3のファイルやフォルダの名前を変更する方法は?
-
[解決済み] AzureにはAWSのCloudFormationのようなIaCツールはあるのでしょうか?[クローズド]
-
[解決済み] エラー: networkMode 'awsvpc' が指定された場合、ネットワーク構成を提供する必要があります。
-
[解決済み] TerraformとAWS。No Configuration Files Found Error
-
[解決済み] AWS KinesisとEventBridgeの違いは何ですか?
-
[解決済み] CloudFrontがオリジンに接続できなかった
-
[解決済み] CLOUDFRONT EC2オリジンエラー CloudFrontはオリジンとの接続を確立しようとしました[重複]。
-
[解決済み] AWS cli: not authorized to perform: sts:AssumeRole on resource.
-
[解決済み] AWS DynamoDBから10ms以下のレスポンスタイムを得るには?
-
[解決済み】Amazon EC2とAWS Elastic Beanstalkの違いについて