Especificar un objeto raíz predeterminado - Amazon CloudFront

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Especificar un objeto raíz predeterminado

Puedes configurarlo CloudFront para que devuelva un objeto específico (el objeto raíz predeterminado) cuando un usuario solicite la URL raíz de tu distribución en lugar de solicitar un objeto de tu distribución. Especificar un objeto raíz predeterminado le permite evitar la exposición del contenido de su distribución.

Cómo especificar un objeto raíz predeterminado

Para evitar exponer el contenido de la distribución o devolver un error, especifique un objeto raíz predeterminado para la distribución llevando a cabo los pasos siguientes.

Especificar un objeto raíz predeterminado para su distribución
  1. Cargue el objeto raíz predeterminado al origen al que apunta su distribución.

    El archivo puede ser cualquier tipo admitido por CloudFront. Para obtener una lista de las restricciones del nombre del archivo, consulte la descripción del DefaultRootObject elemento en DistributionConfig.

    nota

    Si el nombre de archivo del objeto raíz por defecto es demasiado largo o contiene un carácter no válido, CloudFront devuelve el errorHTTP 400 Bad Request - InvalidDefaultRootObject. Además, guarda en CloudFront caché el código durante 10 segundos (de forma predeterminada) y escribe los resultados en los registros de acceso.

  2. Confirme que los permisos del objeto conceden al CloudFront menos read acceso.

    Para obtener más información acerca de los permisos de Amazon S3, consulte Administración de la identidad y el acceso en Amazon S3 en la Guía para usuarios de Amazon Simple Storage Service.

  3. Actualiza tu distribución para que haga referencia al objeto raíz predeterminado mediante la CloudFront consola o la CloudFront API.

    Para especificar un objeto raíz predeterminado mediante la CloudFront consola:

    1. Inicie sesión en AWS Management Console y abra la CloudFront consola enhttps://console.aws.amazon.com/cloudfront/v4/home.

    2. En la lista de distribuciones que se encuentra en el panel superior, seleccione la distribución a actualizar.

    3. En el panel Settings (Configuración), en la pestaña General, elija Edit (Editar).

    4. En el cuadro de diálogo Edit settings (Editar configuración), en el campo Default Root Object (Objeto raíz predeterminado), escriba el nombre de archivo del objeto raíz predeterminado.

      Escriba solo el objeto, por ejemplo, index.html. No añada / antes del nombre del objeto.

    5. Elija Guardar cambios.

    Para actualizar la configuración mediante la CloudFront API, debe especificar un valor para el DefaultRootObject elemento de la distribución. Para obtener información sobre el uso de la CloudFront API para especificar un objeto raíz predeterminado, consulta UpdateDistributionla referencia de la CloudFront API de Amazon.

  4. Realice una solicitud de su URL raíz para confirmar si el objeto raíz predeterminado está habilitado. Si el navegador no muestra el objeto raíz predeterminado, siga los pasos siguientes:

    1. Confirme que su distribución está completamente implementada consultando el estado de la distribución en la CloudFront consola.

    2. Repita los pasos 2 y 3 para verificar que ha concedido los permisos pertinentes y que ha actualizado correctamente la configuración de la distribución para especificar el objeto raíz predeterminado.

Cómo funciona el objeto raíz predeterminado

Suponga que la siguiente solicitud apunta al objeto image.jpg:

https://d111111abcdef8.cloudfront.net/image.jpg

Por el contrario, la siguiente solicitud apunta a la URL raíz de la misma distribución en lugar de a un objeto específico, como en el primer ejemplo:

https://d111111abcdef8.cloudfront.net/

Si define un objeto raíz predeterminado, cualquier solicitud de un usuario final que realice una llamada a la raíz de su distribución devolverá el objeto raíz predeterminado. Por ejemplo, si designa el archivo index.html como su objeto raíz predeterminado, una solicitud de:

https://d111111abcdef8.cloudfront.net/

Devuelve:

https://d111111abcdef8.cloudfront.net/index.html

nota

CloudFront no determina si una URL con varias barras al final (https://d111111abcdef8.cloudfront.net///) equivale a. https://d111111abcdef8.cloudfront.net/ Su servidor de origen hace esa comparación.

Si define un objeto raíz predeterminado, una solicitud de un usuario final que realice una llamada a un subdirectorio de su distribución no devolverá el objeto raíz predeterminado. Por ejemplo, supongamos que index.html es el objeto raíz predeterminado y que CloudFront recibe una solicitud del usuario final para el install directorio de su distribución: CloudFront

https://d111111abcdef8.cloudfront.net/install/

CloudFront no devuelve el objeto raíz predeterminado aunque index.html aparezca una copia de en el install directorio.

Si configura la distribución para permitir todos los métodos HTTP CloudFront compatibles, el objeto raíz predeterminado se aplicará a todos los métodos. Por ejemplo, si tu objeto raíz predeterminado es index.php y escribes tu solicitud para enviar una POST solicitud a la raíz de tu dominio (https://example.com), CloudFront envía la solicitud a https://example.com/index.php.

El comportamiento de los objetos raíz CloudFront predeterminados es diferente del comportamiento de los documentos de índice de Amazon S3. Al configurar un bucket de Amazon S3 como un sitio web y especificar el documento de índice, Amazon S3 devuelve dicho documento incluso si un usuario solicita un subdirectorio del bucket. (Deberá aparecer una copia del documento de índice en cada subdirectorio). Para obtener más información sobre la configuración de buckets de Amazon S3 como sitios web y sobre documentos de índice, consulte el capítulo Hosting de sitios web en Amazon S3 de la Guía del usuario de Amazon Simple Storage Service.

importante

Recuerde que un objeto raíz predeterminado solo se aplica a su CloudFront distribución. Aún tendrá que administrar la seguridad de su origen. Por ejemplo, si utiliza un origen de Amazon S3, deberá configurar las ACL de su bucket de Amazon S3 de forma tal que se asegure el nivel de acceso que desea en dicho bucket.

¿Cómo CloudFront funciona si no se define un objeto raíz

Si no define un objeto raíz predeterminado, las solicitudes de la raíz de su distribución pasarán a su servidor de origen. Si utiliza un origen de Amazon S3, es posible que se devuelva cualquiera de los siguientes elementos:

  • Una lista del contenido de su bucket de Amazon S3: en cualquiera de las siguientes condiciones, cualquier persona que lo utilice para acceder CloudFront a su distribución podrá ver el contenido de su origen:

    • Si su bucket no está configurado correctamente.

    • Si los permisos de Amazon S3 del bucket asociado a su distribución y de los objetos del bucket conceden acceso a todo el mundo.

    • Si un usuario final obtiene acceso a su origen mediante la URL raíz del origen.

  • Una lista del contenido privado de tu origen: si configuras tu origen como una distribución privada (solo tú y tú CloudFront tienes acceso), cualquier persona que tenga las credenciales para acceder a tu distribución podrá ver el contenido del bucket de Amazon S3 asociado a tu distribución CloudFront. En este caso, los usuarios no podrán obtener acceso a su contenido a través de la URL raíz del origen. Para obtener más información acerca de la distribución de contenido privado, consulte Distribución de contenido privado con URL firmadas y cookies firmadas.

  • Error 403 Forbidden— CloudFront devuelve este error si los permisos del bucket de Amazon S3 asociados a su distribución o los permisos de los objetos de ese bucket deniegan el acceso a CloudFront todo el mundo.