繁体   English   中英

AWS Cloudfront行为未按预期运行

[英]AWS Cloudfront behaviors not working as expected

我在AWS Elastic Beanstalk上有一个PHP应用程序,我在S3上创建了一个资产存储桶。 我正在尝试使用行为将Cloudfront发行版设置为将资产/ *请求发送到S3,并使用默认行为将请求发送到EB。 该域指向Cloudfront。

由于EB环境中没有资产目录,所有请求都将发送到EB,EB返回404。

我创建了2个Cloudfront起源,一个用于EB,一个用于S3存储桶。 这是我的行为:

Precedence  Path Pattern  Origin                                          Protocol Policy   Fwd Query Strings
0           assets/*      S3-example-bucket                               HTTP and HTTPS    No
1           Default (*)   Custom-example.us-east-1.elasticbeanstalk.com   HTTP and HTTPS    Yes

似乎这应该很简单,所以我认为我缺少一些基本知识。 任何帮助是极大的赞赏。

编辑:

请求标头:

GET /assets/images/10waysaudiobook.png HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Cookie: wordpress_logged_in_8a27500b7747be1e4fbad7f473f238e5=snickerspixy%7C1466021823%7Cr7rE5moINjanjHEqb1TGbsSkn9F7OCZLfX69IbcnGJu%7C28fc452885f3fe6e954243abab585a188f6511cdd6eeec6fa5ec5c50b9f3d393; wp-settings-7674=m4%3Do%26m5%3Do%26m9%3Do%26m6%3Do%26editor%3Dhtml%26m10%3Do%26m0%3Do%26m3%3Do%26hidetb%3D1%26m2%3Dc%26m1%3Do%26m8%3Do%26m12%3Do%26m7%3Do%26m11%3Do%26urlbutton%3Dnone%26m13%3Do%26tml1%3D1%26imgsize%3Dfull%26align%3Dcenter%26libraryContent%3Dbrowse%26ed_size%3D569%26unfold%3D1%26wplink%3D1%26mfold%3Do%26post_dfw%3Doff%26advImgDetails%3Dshow%26posts_list_mode%3Dlist; wp-settings-time-7674=1464816549; AWSELB=1FCB85F51606EBAFF15FEADB01C8069AEDE17E2A043407E615EF1A0E1ABF24607545A45D3DC206631F7AAE4503ADA423788B5E6B5B48FAE93EE916DE068509E64F92AC10FF; PHPSESSID=cpi2su7s967phu87rlpjgneel6; wordpress_test_cookie=WP+Cookie+check
Connection: keep-alive

响应头:

HTTP/1.1 404 Not Found
Cache-Control: no-cache, must-revalidate, max-age=0
Content-Type: text/html; charset=UTF-8
Date: Sun, 05 Jun 2016 00:54:23 GMT
Expires: Wed, 11 Jan 1984 05:00:00 GMT
Link: <http://example.com/wp-json/>; rel="https://api.w.org/"
Pragma: no-cache
Server: Apache
Transfer-Encoding: chunked
Connection: keep-alive

响应标头表明CloudFront根本不满足该请求,因为应该有标头...但是不存在。

CloudFront在每个响应中添加Via:X-Cache:x-amz-cf-id:标头,有时还添加Age:关于缓存命中和错误)或Vary:如果要转发CloudFront-Is-*-Viewer:原点的标头。

如果没有这些标头,则表明该站点的DNS尚未指向CloudFront,并且仍可能直接指向EB环境,或者如果更改是最近的,则该DNS条目的原TTL可能尚未过期。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM