2017-08-17 3 views
0

J'essayais d'héberger mon site example.com en utilisant CloudFront avec deux origines S3. S3-main pour le site et S3-resources pour les ressources. J'ai donc défini S3-main comme default(*). Et S3-resources avec le motif de chemin resources/*.CloudFront obtenu X-Cache: Erreur de cloudfront avec le code d'état 200

Quand je vais https://example.com je chargé avec succès index.html sous S3-main
Mais quand j'ai essayé de https://example.com/resorces/something.jpg je suis arrivé à nouveau https://example.com/index.html avec en-tête comme ci-dessous:

http GET https://example.com/resources/something.jpg 

HTTP/1.1 200 OK 
Accept-Ranges: bytes 
Connection: keep-alive 
Content-Length: 1518 
Content-Type: text/html 
Date: Thu, 17 Aug 2017 03:29:52 GMT 
ETag: "9776b731a6c42de14c929c10b4fec28c" 
Last-Modified: Thu, 17 Aug 2017 01:56:41 GMT 
Server: AmazonS3 
Via: 1.1 xxxxxxx.cloudfront.net (CloudFront) 
X-Amz-Cf-Id: 3OVCtUAk8mGzKt2OJD5gX9KRLHG3CBSHXf-xxxxxxxx== 
X-Cache: Error from cloudfront 

Pourquoi ai-je reçu HTTP/1.1 200 OK et X-Cache: Error from cloudfront en même temps? Pourquoi ai-je obtenu index.html plutôt que something.jpg comme je m'y attendais?

Remarque

je peux obtenir l'image à travers S3-resources.s3.amazonaws.com

http GET https://S3-resources.s3.amazonaws.com/resources/something.jpg 

Accept-Ranges: bytes 
Content-Length: 176182 
Content-Type: image/jpeg 
Date: Thu, 17 Aug 2017 04:11:55 GMT 
ETag: "xxxxxxx84b05fb6564323c" 
Last-Modified: Thu, 17 Aug 2017 02:59:12 GMT 
Server: AmazonS3 
x-amz-id-2: xxxx/xxxl+ijjM3YTxtQ4LpdHReEOhUvAz7uPFmVwzs8Foe4WOE= 
x-amz-request-id: XXXX145CA3 

+--------------------+ 
| NOTE: binary data | 
+--------------------+ 

Répondre

0

Vérifiez vos paramètres de distribution ... Plus précisément, l'erreur onglet Pages.

Si vous avez configuré des réponses d'erreur personnalisées, il semble que vous les ayez mal configurées. Il est possible de remplacer le contenu et réécrire le code de statut HTTP lorsqu'une erreur se produit, et le comportement que vous signalez serait exactement conforme à une telle configuration (erronée).

http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html

+0

Nous vous remercions de votre aide. J'ai trouvé la raison est que j'ai mis les pages d'erreur à index.html. Pendant ce temps, miss a configuré 'resources/*' à 'S3-main'. Donc quand 'http GET https: // example.com/resources/something.jpg' il devrait rencontrer une erreur 404 mais a été réécrit à 200 avec un retour index.html. – kehao