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, хотя мой дистрибутив Cloudfrontd1mbpc40mdbs3p указывает наdev.pie.video.

Подробнее, если это полезно:

d1mbpc40mdbs3p.cloudfront.net использует сертификат CloudFront по умолчанию для httpsисточник распространения облачного фронта настроен для работы по SSL и TLS и для использования протокола зрителя.

===== Редактировать 1 =====

скриншоты настроек облачного фронта:

Генеральный:

Происхождение:

поведения:

==== Редактировать 2 ====

если это полезно, логи, которые я получаю из облачного фронта, выглядят как

<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
 Guig09 авг. 2016 г., 03:57
Я сделал это и сообщу вам, как только настройки будут развернуты. Я также добавил подробности в журналы, которые я получаю на случай, если это уместно.
 error2007s09 авг. 2016 г., 03:39
Попробуйте изменить политику протокола Viewers только на https. И аннулировать кеш
 error2007s09 авг. 2016 г., 04:03
Хорошо, вы делаете дистрибутив CloudFront для поддержки новых версий TLS? В старых дистрибутивах по умолчанию используется SSLv3. Проверь SSLv3 в настройках

Ответы на вопрос(2)

CloudFront (Амазонка) на вершинеCloudFlare (другая компания). У них наверняка правильные сертификаты https?

Не дошло до сути, и я просто переключился наhttp для происхождения. Это были просто изображения для глупого магазина eBay, и я действительно использовал CloudFront только для того, чтобы запутать домен под ним (потому что люди крадут URL-адреса изображений на eBay).

Я добавил параметр строки запроса?a=1 и это сработало,?a=2 не удалось,?a=3 работал,?a=4 работал и?a=8 снова не удалось. Так что с CloudFront произошло что-то интересное

Все еще не уверен, что происходит, но аннулирование не исправило это, и я не ожидал бы этого, так как я прохожу через строки запроса и изменяюa не заставил это всегда работать.

если вы столкнулись с проблемой, попробуйте добавить бессмысленный параметр и увеличить его несколько раз и наблюдать результаты.

Решение Вопроса

Ваш исходный сервер неправильно настроен для 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 в журнале вашего веб-сервера. Само соединение работает, но 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

https://certs.godaddy.com/repository

Ваш ответ на вопрос