Tenemos una distribución de Cloudfront con un origen personalizado que ha estado funcionando bien durante bastante tiempo, sirviendo activos estáticos para uno de nuestros sitios. Esta misma mañana, notamos que nuestro logotipo se mostraba como un enlace roto.
Tras una mayor investigación, Cloudfront está devolviendo un extraño mensaje de error que nunca antes había visto para la URL en cuestión :
ERROR
The request could not be satisfied.
Generated by cloudfront (CloudFront)
Varias otras URL de Cloudfront de esta distribución devuelven el mismo error, pero otras (de nuevo, de la misma distribución) funcionan bien. No veo un patrón de lo que funciona y lo que no.
Algunos otros puntos de datos:
- Las URL de origen funcionan bien. No ha habido ninguna interrupción reciente en el servicio, que yo sepa.
- He invalidado la URL del logotipo específicamente, sin ningún efecto.
- Invalidé la URL raíz de la distribución, sin ningún efecto.
¿Alguna idea de lo que está pasando aquí? Nunca antes había visto a Cloudfront hacer esto.
ACTUALIZAR:
Aquí está la respuesta HTTP literal de Cloudfront:
$ http GET https://d2yu7foswg1yra.cloudfront.net/static/img/crossway_logo.png
HTTP/1.1 502 Bad Gateway
Age: 213
Connection: keep-alive
Content-Length: 472
Content-Type: text/html
Date: Wed, 18 Dec 2013 17:57:46 GMT
Server: CloudFront
Via: 1.1 f319e8962c0268d31d3828d4b9d41f98.cloudfront.net (CloudFront)
X-Amz-Cf-Id: H_HGBG3sTOqEomHzHubi8ruLbGXe2MRyVhGBn4apM0y_LjQa_9W2Jg==
X-Cache: Error from cloudfront
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>ERROR: The request could not be satisfied</TITLE>
</HEAD><BODY>
<H1>ERROR</H1>
<H2>The request could not be satisfied.</H2>
<HR noshade size="1px">
</BODY></HTML>
<BR clear="all">
<HR noshade size="1px">
<ADDRESS>
Generated by cloudfront (CloudFront)
</ADDRESS>
</BODY></HTML>
pglcmd
que estaba bloqueando los rangos de IP a través de iptables. Todavía no sé por qué CloudFront estaba buscando estos archivos, que tienen encabezados de vencimiento configurados para un año.