【发布时间】:2017-12-04 05:19:08
【问题描述】:
我的 CF 分发的某些路径遇到了一个非常令人沮丧的问题。
在我的源服务器(非 AWS)上,我已经设置了它,所以所有经过身份验证的端点都以“/a/”开头。
因此,我已将 CloudFront 配置为转发所有标头,从而禁用缓存。我针对此行为的 CloudFront 配置如下所示...
{
"TrustedSigners": {
"Enabled": false,
"Quantity": 0
},
"LambdaFunctionAssociations": {
"Quantity": 0
},
"TargetOriginId": "myorigin_id",
"ViewerProtocolPolicy": "redirect-to-https",
"ForwardedValues": {
"Headers": {
"Items": [
"*"
],
"Quantity": 1
},
"Cookies": {
"Forward": "all"
},
"QueryStringCacheKeys": {
"Quantity": 0
},
"QueryString": true
},
"MaxTTL": 31536000,
"PathPattern": "/a/*",
"SmoothStreaming": false,
"DefaultTTL": 86400,
"AllowedMethods": {
"Items": [
"HEAD",
"DELETE",
"POST",
"GET",
"OPTIONS",
"PUT",
"PATCH"
],
"CachedMethods": {
"Items": [
"HEAD",
"GET"
],
"Quantity": 2
},
"Quantity": 7
},
"MinTTL": 0,
"Compress": false
}
但是,对以 /a/ 开头的任何路径(即 /a/auth/login)的所有请求在 CloudFront 都会失败。它给了我标准错误...
CloudFront 无法连接到源。
原始 URL 完美运行。我已经验证了我的 SSL 证书。一切似乎都是正确的。
此外,如果我检查我的服务器日志,我可以看到对于这些路径,CloudFront 从未尝试联系源服务器。 CloudFront 用户代理的这些路径没有条目(成功或失败)。
这似乎不是由于任何类型的原始超时,因为错误会立即返回。
CloudFront 端肯定有问题,但我不知道我做错了什么。
顺便说一句,同一来源的其他行为路径也可以正常工作。
【问题讨论】: