

# Control de las solicitudes de origen con una política
<a name="controlling-origin-requests"></a>

Cuando una solicitud de lector en CloudFront da como resultado un *error de caché* (el objeto solicitado no se almacena en caché en la ubicación de borde), CloudFront envía una solicitud al origen para recuperar el objeto. Esto se denomina una *solicitud de origen*. La solicitud de origen siempre incluye la siguiente información de la solicitud del lector:
+ La ruta de URL (solo la ruta, sin cadenas de consulta de URL ni el nombre de dominio)
+ El cuerpo de la solicitud (si hay uno)
+ Los encabezados HTTP que CloudFront incluye automáticamente en cada solicitud de origen, incluidos `Host`, `User-Agent` y `X-Amz-Cf-Id`

Otra información de la solicitud del lector, como cadenas de consulta de URL, encabezados HTTP y cookies, no se incluye en la solicitud de origen de forma predeterminada. (Excepción: con la configuración de caché heredada, CloudFront reenvía los encabezados a su origen de forma predeterminada). Sin embargo, es posible que desee recibir parte de esta otra información en el origen, por ejemplo, para recopilar datos para análisis o telemetría. Puede utilizar una *política de solicitud de origen* para controlar la información que se incluye en una solicitud de origen. 

Las políticas de solicitud de origen son independientes de las [políticas de caché](controlling-the-cache-key.md), que controlan la clave de caché. De este modo, puede recibir información adicional en el origen y también mantener una buena *proporción de aciertos de la caché* (la proporción de solicitudes de lector que dan lugar a un acierto de la caché). Para ello, controle por separado qué información se incluye en las solicitudes de origen (mediante la política de solicitud de origen) y cuál se incluye en la clave de caché (mediante la política de caché).

Aunque los dos tipos de políticas son independientes, están relacionadas. Todas las cadenas de consulta de URL, encabezados HTTP y cookies que se incluyen en la clave de caché (mediante una política de caché) se incluyen automáticamente en las solicitudes de origen. Utilice la política de solicitud de origen para especificar la información que desea incluir en las solicitudes de origen, pero *no* en la clave de caché. Al igual que una política de caché, puede asociar una política de solicitud de origen a uno o más comportamientos de caché de una distribución de CloudFront.

También puede utilizar una política de solicitud de origen para agregar encabezados HTTP adicionales a una solicitud de origen que no se incluyeron en la solicitud del lector. CloudFront agrega estos encabezados adicionales antes de enviar la solicitud de origen, con valores de encabezado que se determinan automáticamente en función de la solicitud del lector. Para obtener más información, consulte [Añadido de encabezados de solicitudes de CloudFront](adding-cloudfront-headers.md).

**Topics**
+ [Descripción de políticas de solicitud de origen](origin-request-understand-origin-request-policy.md)
+ [Creación de políticas de solicitud de origen](origin-request-create-origin-request-policy.md)
+ [Uso de políticas de solicitudes de origen administradas](using-managed-origin-request-policies.md)
+ [Añadido de encabezados de solicitudes de CloudFront](adding-cloudfront-headers.md)
+ [Descripción de cómo funcionan juntas las políticas de solicitud de origen y las políticas de caché](understanding-how-origin-request-policies-and-cache-policies-work-together.md)

# Descripción de políticas de solicitud de origen
<a name="origin-request-understand-origin-request-policy"></a>

CloudFront proporciona algunas políticas de solicitud de origen predefinidas, conocidas como *políticas administradas*, para casos de uso comunes. Puede usar estas políticas administradas o puede crear su propia política de solicitud de origen específica para sus necesidades. Para obtener más información sobre las políticas administradas, consulte [Uso de políticas de solicitudes de origen administradas](using-managed-origin-request-policies.md).

Una política de solicitud de origen contiene la siguiente configuración, que se clasifica en *información de política* y *configuración de solicitud de origen*.

## Información de políticas
<a name="origin-request-understand-origin-request-policy-info"></a>

**Nombre**  
Un nombre para identificar la política de solicitud de origen. En la consola, se utiliza el nombre para asociar la política de solicitud de origen a un comportamiento de caché.

**Descripción**  
Un comentario para describir la política de solicitud de origen. Esto es opcional.

## Configuración de solicitud de origen
<a name="origin-request-understand-origin-request-policy-settings"></a>

La configuración de la solicitud de origen especifica los valores de las solicitudes de lector que se incluyen en las solicitudes que CloudFront envía al origen (conocidas como solicitudes de origen). Los valores pueden incluir cadenas de consulta de URL, encabezados HTTP y cookies. Los valores que especifique se incluyen en las solicitudes de origen, pero no se incluyen en la clave de caché. Para obtener información sobre cómo controlar la clave de caché, consulte [Control de la clave de caché con una política](controlling-the-cache-key.md).

**Encabezados**  
Los encabezados HTTP en las solicitudes del lector que CloudFront incluye en solicitudes de origen. En encabezados, puede elegir una de las siguientes configuraciones:  
+ **None (Ninguna)**: los encabezados HTTP en las solicitudes de lector *no* se incluyen en solicitudes de origen.
+ **Todos los encabezados del lector**: todos los encabezados HTTP de las solicitudes de lector se incluyen en las solicitudes de origen.
+ **Todos los encabezados del lector y los siguientes encabezados de CloudFront**: todos los encabezados HTTP de las solicitudes de lector se incluyen en las solicitudes de origen. Además, se especifica cuál de los encabezados de CloudFront se desea agregar a las solicitudes de origen. Para obtener más información acerca de los encabezados de CloudFront, consulte [Añadido de encabezados de solicitudes de CloudFront](adding-cloudfront-headers.md).
+ **Incluir los siguientes encabezados**: esta opción le permite especificar los encabezados HTTP que se incluyen en solicitudes de origen.
**nota**  
No especifique ningún encabezado que ya esté incluido en la configuración de **Encabezados personalizados de origen**. Para obtener más información, consulte [Configuración de CloudFront para agregar encabezados personalizados a solicitudes de origen](add-origin-custom-headers.md#add-origin-custom-headers-configure).
+ **Todos los encabezados del lector excepto**: usted especifica qué encabezados HTTP ***no*** se incluyen en las solicitudes de origen. Se incluyen todos los demás encabezados HTTP de las solicitudes del lector, excepto los especificados.
Cuando se utiliza la configuración **Todos los encabezados del lector y los encabezados de CloudFront siguientes**, **Incluir los siguientes encabezados** o **Todos los encabezados del lector excepto**, se especifican los encabezados HTTP solo por el nombre del encabezado. CloudFront incluye el encabezado completo, incluido su valor, en las solicitudes de origen.  
Al utilizar la configuración **Todos los encabezados del visor excepto** para eliminar el encabezado `Host` del lector, CloudFront agrega un nuevo encabezado `Host` con el nombre de dominio del origen a la solicitud de origen.

**Cookies**  
Las cookies en las solicitudes del lector que CloudFront incluye en solicitudes de origen. Para cookies, puede elegir una de las siguientes configuraciones:  
+ **None (Ninguna)**: las cookies en las solicitudes de lector *no* están incluidas en las solicitudes de origen.
+ **Todas**: las cookies en las solicitudes de lector se incluyen en las solicitudes de origen.
+ **Incluir las siguientes cookies**: se especifica qué cookies de las solicitudes de lector se incluyen en las solicitudes de origen.
+ **Todas las cookies excepto**: puede especificar qué cookies en las solicitudes de lector ***no*** están incluidas en las solicitudes de origen. Se incluyen todas las demás cookies de las solicitudes del lector.
Cuando utiliza la configuración **Incluir las cookies siguientes** o **Todas las cookies excepto**, se especifican las cookies solo por el nombre. CloudFront incluye la cookie completa, incluido su valor, en las solicitudes de origen.

**Cadenas de consulta**  
Las cadenas de consulta de URL en las solicitudes de lector que CloudFront incluye en las solicitudes de origen. Para cadenas de consulta, puede elegir una de las opciones siguientes:  
+ **None (Ninguna)**: las cadenas de consulta en las solicitudes de lector *no* se incluyen en las solicitudes de origen.
+ **Todas**: todas las cadenas de consulta de las solicitudes de lector se incluyen en las solicitudes de origen.
+ **Incluir cadenas de consulta especificadas**: se especifica qué cadenas de consulta de las solicitudes de lector se incluyen en las solicitudes de origen.
+ **Todas las cadenas de consulta excepto**: puede especificar qué cadenas de consulta de las solicitudes de lector ***no*** están incluidas en las solicitudes de origen. Se incluyen todas las demás cadenas de consulta.
Cuando se utiliza la configuración **Incluir las cadenas de consulta siguientes** o **Todas las cadenas de consulta excepto**, se especifican cadenas de consulta solo por el nombre. CloudFront incluye la cadena de consulta completa, incluido su valor, en las solicitudes de origen.

# Creación de políticas de solicitud de origen
<a name="origin-request-create-origin-request-policy"></a>

Puede utilizar una política de solicitud de origen para controlar los valores (cadenas de consulta de URL, encabezados HTTP y cookies) que se incluyen en las solicitudes que CloudFront envía al origen. Puede crear una política de solicitud de origen en la consola de CloudFront, con la AWS Command Line Interface (AWS CLI) o con la API de CloudFront.

Después de crear una política de solicitud de origen, puede asociarla a uno o más comportamientos de caché en una distribución de CloudFront.

Las políticas de solicitud de origen no son obligatorias. Cuando un comportamiento de caché no tiene una política de solicitud de origen asociada, la solicitud de origen incluye todos los valores especificados en la [política de caché](cache-key-understand-cache-policy.md), pero nada más.

**nota**  
Para utilizar una política de solicitud de origen, el comportamiento de caché también debe utilizar una [política de caché](controlling-the-cache-key.md). No se puede utilizar una política de solicitud de origen en un comportamiento de caché sin una política de caché.

------
#### [ Console ]

**Para crear una política de solicitud de origen (consola)**

1. Inicie sesión en Consola de administración de AWS y abra la página **Policies (Políticas)** en la consola de CloudFront en [https://console.aws.amazon.com/cloudfront/v4/home?#/policies](https://console.aws.amazon.com/cloudfront/v4/home?#/policies).

1. Elija **Origin request (Solicitud de origen)** y, luego, **Create origin request policy (Crear política de solicitud de origen)**.

1. Elija la configuración deseada para esta política de solicitud de origen. Para obtener más información, consulte [Descripción de políticas de solicitud de origen](origin-request-understand-origin-request-policy.md).

1. Cuando termine, elija **Create (Crear)**.

Después de crear una política de solicitud de origen, puede asociarla a un comportamiento de caché.

**Para asociar una política de solicitud de origen a una distribución existente (consola)**

1. Abra la página **Distributions (Distribuciones)** en la consola de CloudFront en [https://console.aws.amazon.com/cloudfront/v4/home#/distributions](https://console.aws.amazon.com/cloudfront/v4/home#/distributions).

1. Elija la distribución que se va a actualizar y, a continuación, elija la pestaña **Behaviors (Comportamientos)**.

1. Elija el comportamiento de caché que se va a actualizar y, a continuación, elija **Edit (Editar)**.

   O bien, para crear un nuevo comportamiento de caché, elija **Create behavior (Crear comportamiento)**.

1. En la sección **Cache key and origin requests (Solicitudes de origen y clave de caché)**, asegúrese de elegir **Cache policy and origin request policy (Política de caché y política de solicitud de origen)**.

1. En **Origin request policy (Política de solicitud de origen)**, elija la política de solicitud de origen que se va a asociar a este comportamiento de caché.

1. Elija **Save changes (Guardar cambios)** en la parte inferior de la página.

**Para asociar una política de solicitud de origen con una nueva distribución (consola)**

1. Abra la consola de CloudFront en [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. Elija **Create distribution (Crear distribución)**.

1. En la sección **Solicitudes de origen y clave de caché**, asegúrese de elegir **Política de caché y política de solicitud de origen**.

1. En **Origin request policy** (Política de solicitud de origen), elija la política de solicitud de origen que se va a asociar al comportamiento predeterminado de la caché de esta distribución.

1. Elija la configuración deseada para el origen, el comportamiento predeterminado de la caché y la distribución. Para obtener más información, consulte [Referencia de toda la configuración de distribución](distribution-web-values-specify.md).

1. Cuando termine, elija **Create distribution (Crear distribución)**.

------
#### [ CLI ]

Para crear una política de solicitud de origen con la AWS Command Line Interface (AWS CLI), utilice el comando **aws cloudfront create-origin-request-policy**. Puede utilizar un archivo de entrada para proporcionar los parámetros de entrada del comando, en lugar de especificar cada parámetro individual como entrada de línea de comandos.

**Para crear una política de solicitud de origen (CLI con archivo de entrada)**

1. Utilice el siguiente comando para crear un archivo denominado `origin-request-policy.yaml` que contenga todos los parámetros de entrada del comando **create-origin-request-policy**.

   ```
   aws cloudfront create-origin-request-policy --generate-cli-skeleton yaml-input > origin-request-policy.yaml
   ```

1. Abra el archivo llamado `origin-request-policy.yaml` que acaba de crear. Edite el archivo para especificar la configuración de política de solicitud de origen que desee y, a continuación, guarde el archivo. Puede eliminar campos opcionales del archivo, pero no eliminar los campos obligatorios.

   Para obtener más información acerca de la configuración de política de solicitud de origen, consulte [Descripción de políticas de solicitud de origen](origin-request-understand-origin-request-policy.md).

1. Utilice el siguiente comando para crear la política de solicitud de origen utilizando parámetros de entrada del archivo de `origin-request-policy.yaml`.

   ```
   aws cloudfront create-origin-request-policy --cli-input-yaml file://origin-request-policy.yaml
   ```

   Anote el valor de `Id` en la salida del comando. Este es el ID de política de solicitud de origen y se necesita para asociar la política de solicitud de origen al comportamiento de caché de una distribución de CloudFront.

**Para asociar una política de solicitud de origen a una distribución existente (CLI con archivo de entrada)**

1. Utilice el comando siguiente para guardar la configuración de distribución de la distribución de CloudFront que desea actualizar. Reemplace *distribution\$1ID* por el ID de la distribución.

   ```
   aws cloudfront get-distribution-config --id distribution_ID --output yaml > dist-config.yaml
   ```

1. Abra el archivo llamado `dist-config.yaml` que acaba de crear. Edite el archivo, realizando los siguientes cambios en cada comportamiento de caché que actualice para utilizar una política de solicitud de origen.
   + En el comportamiento de caché, agregue un campo denominado `OriginRequestPolicyId`. Para el valor del campo, utilice el ID de política de solicitud de origen que anotó después de crear la política.
   + Cambie el nombre del campo `ETag` a `IfMatch`, pero no cambie el valor del campo.

   Guarde el archivo cuando haya terminado.

1. Utilice el siguiente comando para actualizar la distribución para utilizar la política de solicitud de origen. Reemplace *distribution\$1ID* por el ID de la distribución.

   ```
   aws cloudfront update-distribution --id distribution_ID --cli-input-yaml file://dist-config.yaml
   ```

**Para asociar una política de solicitud de origen a una distribución nueva (CLI con archivo de entrada)**

1. Utilice el siguiente comando para crear un archivo denominado `distribution.yaml` que contenga todos los parámetros de entrada del comando **create-distribution**.

   ```
   aws cloudfront create-distribution --generate-cli-skeleton yaml-input > distribution.yaml
   ```

1. Abra el archivo llamado `distribution.yaml` que acaba de crear. En el comportamiento de caché predeterminado, en el campo `OriginRequestPolicyId`, escriba el ID de política de solicitud de origen que anotó después de crear la política. Siga editando el archivo para especificar la configuración de distribución que desee y, a continuación, guarde el archivo cuando termine.

   Para obtener más información acerca de la configuración de distribución, consulte [Referencia de toda la configuración de distribución](distribution-web-values-specify.md).

1. Utilice el siguiente comando para crear la distribución mediante los parámetros de entrada del archivo de `distribution.yaml`.

   ```
   aws cloudfront create-distribution --cli-input-yaml file://distribution.yaml
   ```

------
#### [ API ]

Para crear una política de solicitud de origen con la API de CloudFront, utilice [CreateOriginRequestPolicy](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateOriginRequestPolicy.html). Para obtener más información sobre los campos que especifique en esta llamada a la API, consulte [Descripción de políticas de solicitud de origen](origin-request-understand-origin-request-policy.md) y la documentación de referencia de la API para el SDK de AWS u otro cliente de la API.

Después de crear una política de solicitud de origen, puede asociarla a un comportamiento de caché mediante una de las siguientes llamadas a la API:
+ Para asociarla a un comportamiento de caché en una distribución existente, utilice [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html).
+ Para asociarlo con un comportamiento de caché en una nueva distribución, utilice [CreateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateDistribution.html).

Para estas llamadas a la API, proporcione el ID de la política de solicitud de origen en el campo `OriginRequestPolicyId`, dentro de un comportamiento de caché. Para obtener más información sobre los otros campos que especifique en estas llamadas a la API, consulte [Referencia de toda la configuración de distribución](distribution-web-values-specify.md) y la documentación de referencia de la API para el SDK de AWS u otro cliente de la API.

------

# Uso de políticas de solicitudes de origen administradas
<a name="using-managed-origin-request-policies"></a>

CloudFront proporciona un conjunto de políticas de solicitud de origen administradas que puede asociar a cualquiera de los comportamientos de caché de la distribución. Con una política de solicitud de origen administrada, no es necesario escribir ni mantener su propia política de solicitud de origen. Las políticas administradas utilizan configuraciones optimizadas para casos de uso específicos.

Para utilizar una política de solicitud de origen administrada, debe asociarla a un comportamiento de caché en su distribución. El proceso es el mismo que cuando se crea una política de solicitud de origen, pero en lugar de crear una nueva, simplemente se asocia una de las políticas de solicitud de origen administradas. Se asocia la política por nombre (con la consola) o por ID (con AWS CLI o los SDK). Los nombres e ID se muestran en la siguiente sección.

Para obtener más información, consulte [Creación de políticas de solicitud de origen](origin-request-create-origin-request-policy.md).

En los temas siguientes, se describen las políticas de solicitudes de origen administradas que puede utilizar.

**Topics**
+ [AllViewer](#managed-origin-request-policy-all-viewer)
+ [AllViewerAndCloudFrontHeaders-2022-06](#managed-origin-request-policy-all-viewer-and-cloudfront)
+ [AllViewerExceptHostHeader](#managed-origin-request-policy-all-viewer-except-host-header)
+ [CORS-CustomOrigin](#managed-origin-request-policy-cors-custom)
+ [CORS-S3Origin](#managed-origin-request-policy-cors-s3)
+ [Elemental-MediaTailor-PersonalizedManifests](#managed-origin-request-policy-mediatailor)
+ [HostHeaderOnly](#managed-origin-request-policy-host-header-only)
+ [UserAgentRefererHeaders](#managed-origin-request-policy-user-agent-referer)

## AllViewer
<a name="managed-origin-request-policy-all-viewer"></a>

[Consulte esta política en la consola de CloudFront](https://console.aws.amazon.com/cloudfront/v4/home#/policies/origin/216adef6-5c7f-47e4-b989-5492eafa07d3)

En esta política, se incluyen todos los valores (cadenas de consulta, encabezados y cookies) de la solicitud del lector.

Al utilizar CloudFormation, la AWS CLI o la API de CloudFront, el identificador de esta política es:

`216adef6-5c7f-47e4-b989-5492eafa07d3`

Esta política tiene las siguientes opciones:
+ **Encabezados incluidos en las solicitudes de origen:** todos los encabezados de la solicitud del lector
+ **Cookies incluidas en las solicitudes de origen:** todas
+ **Cadenas de consulta incluidas en las solicitudes de origen:** todas

## AllViewerAndCloudFrontHeaders-2022-06
<a name="managed-origin-request-policy-all-viewer-and-cloudfront"></a>

[Consulte esta política en la consola de CloudFront](https://console.aws.amazon.com/cloudfront/v4/home#/policies/origin/33f36d7e-f396-46d9-90e0-52428a34d9dc)

En esta política, se incluyen todos los valores (encabezados, cookies y cadenas de consulta) de la solicitud del lector y todos los [encabezados de CloudFront](adding-cloudfront-headers.md) que se publicaron hasta junio de 2022 (no se incluyen los encabezados de CloudFront que se hayan publicado después de junio de 2022).

Al utilizar CloudFormation, la AWS CLI o la API de CloudFront, el identificador de esta política es:

`33f36d7e-f396-46d9-90e0-52428a34d9dc`

Esta política tiene las siguientes opciones:
+ **Encabezados incluidos en las solicitudes de origen:** todos los encabezados de la solicitud del lector y los siguientes encabezados de CloudFront:
  + `CloudFront-Forwarded-Proto`
  + `CloudFront-Is-Android-Viewer`
  + `CloudFront-Is-Desktop-Viewer`
  + `CloudFront-Is-IOS-Viewer`
  + `CloudFront-Is-Mobile-Viewer`
  + `CloudFront-Is-SmartTV-Viewer`
  + `CloudFront-Is-Tablet-Viewer`
  + `CloudFront-Viewer-Address`
  + `CloudFront-Viewer-ASN`
  + `CloudFront-Viewer-City`
  + `CloudFront-Viewer-Country`
  + `CloudFront-Viewer-Country-Name`
  + `CloudFront-Viewer-Country-Region`
  + `CloudFront-Viewer-Country-Region-Name`
  + `CloudFront-Viewer-Http-Version`
  + `CloudFront-Viewer-Latitude`
  + `CloudFront-Viewer-Longitude`
  + `CloudFront-Viewer-Metro-Code`
  + `CloudFront-Viewer-Postal-Code`
  + `CloudFront-Viewer-Time-Zone`
  + `CloudFront-Viewer-TLS`
+ **Cookies incluidas en las solicitudes de origen:** todas
+ **Cadenas de consulta incluidas en las solicitudes de origen:** todas

## AllViewerExceptHostHeader
<a name="managed-origin-request-policy-all-viewer-except-host-header"></a>

[Consulte esta política en la consola de CloudFront](https://console.aws.amazon.com/cloudfront/v4/home#/policies/origin/b689b0a8-53d0-40ab-baf2-68738e2966ac)

Esta política ***no*** incluye el encabezado `Host` de la solicitud del lector, pero sí incluye todos los demás valores (encabezados, cookies y cadenas de consulta) de la solicitud del lector.

Esta política también incluye [encabezados de solicitud de CloudFront](adding-cloudfront-headers.md) adicionales para el protocolo HTTP, la versión HTTP, la versión TLS y todos los encabezados de tipo de dispositivo y ubicación del lector.

Esta política está diseñada para usarse con los orígenes de URL de función de Amazon API Gateway y AWS Lambda. Estos orígenes esperan que el encabezado `Host` contenga el nombre de dominio de origen, no el nombre de dominio de la distribución de CloudFront. Reenviar el encabezado `Host` de la solicitud del lector a estos orígenes puede impedir que funcionen.

**nota**  
Al utilizar esta política de solicitud de origen administrada para eliminar el encabezado `Host` del lector, CloudFront agrega un nuevo encabezado `Host` con el nombre de dominio del origen a la solicitud de origen.

Al utilizar CloudFormation, la AWS CLI o la API de CloudFront, el identificador de esta política es:

`b689b0a8-53d0-40ab-baf2-68738e2966ac`

Esta política tiene las siguientes opciones:
+ **Encabezados incluidos en las solicitudes de origen:** todos los encabezados de la solicitud del lector ***excepto*** para el encabezado de `Host`
+ **Cookies incluidas en las solicitudes de origen:** todas
+ **Cadenas de consulta incluidas en las solicitudes de origen:** todas

## CORS-CustomOrigin
<a name="managed-origin-request-policy-cors-custom"></a>

[Consulte esta política en la consola de CloudFront](https://console.aws.amazon.com/cloudfront/v4/home#/policies/origin/59781a5b-3903-41f3-afcb-af62929ccde1)

Esta política incluye el encabezado que habilita las solicitudes de uso compartido de recursos de origen cruzado (CORS) cuando el origen es un origen personalizado.

Al utilizar CloudFormation, la AWS CLI o la API de CloudFront, el identificador de esta política es:

`59781a5b-3903-41f3-afcb-af62929ccde1`

Esta política tiene las siguientes opciones:
+ **Encabezados incluidos en las solicitudes de origen:**
  + `Origin`
+ **Cookies incluidas en las solicitudes de origen:** ninguna
+ **Cadenas de consulta incluidas en las solicitudes de origen:** ninguna

## CORS-S3Origin
<a name="managed-origin-request-policy-cors-s3"></a>

[Consulte esta política en la consola de CloudFront](https://console.aws.amazon.com/cloudfront/v4/home#/policies/origin/88a5eaf4-2fd4-4709-b370-b4c650ea3fcf)

Esta política incluye los encabezados que habilitan las solicitudes de uso compartido de recursos de origen cruzado (CORS) cuando el origen es un bucket de Amazon S3.

Al utilizar CloudFormation, la AWS CLI o la API de CloudFront, el identificador de esta política es:

`88a5eaf4-2fd4-4709-b370-b4c650ea3fcf`

Esta política tiene las siguientes opciones:
+ **Encabezados incluidos en las solicitudes de origen:**
  + `Origin`
  + `Access-Control-Request-Headers`
  + `Access-Control-Request-Method`
+ **Cookies incluidas en las solicitudes de origen:** ninguna
+ **Cadenas de consulta incluidas en las solicitudes de origen:** ninguna

## Elemental-MediaTailor-PersonalizedManifests
<a name="managed-origin-request-policy-mediatailor"></a>

[Consulte esta política en la consola de CloudFront](https://console.aws.amazon.com/cloudfront/v4/home#/policies/origin/775133bc-15f2-49f9-abea-afb2e0bf67d2)

Esta política está diseñada para su uso con un origen que es un punto de conexión de AWS Elemental MediaTailor.

Al utilizar CloudFormation, la AWS CLI o la API de CloudFront, el identificador de esta política es:

`775133bc-15f2-49f9-abea-afb2e0bf67d2`

Esta política tiene las siguientes opciones:
+ **Encabezados incluidos en las solicitudes de origen:**
  + `Origin`
  + `Access-Control-Request-Headers`
  + `Access-Control-Request-Method`
  + `User-Agent`
  + `X-Forwarded-For`
+ **Cookies incluidas en las solicitudes de origen:** ninguna
+ **Cadenas de consulta incluidas en las solicitudes de origen:** todas

## HostHeaderOnly
<a name="managed-origin-request-policy-host-header-only"></a>

[Consulte esta política en la consola de CloudFront](https://console.aws.amazon.com/cloudfront/v4/home#/policies/origin/bf0718e1-ba1e-49d1-88b1-f726733018ae)

Esta política incluye solo el encabezado del `Host` de la solicitud de origen. No incluye cadenas de consulta ni cookies.

Al utilizar CloudFormation, la AWS CLI o la API de CloudFront, el identificador de esta política es:

`bf0718e1-ba1e-49d1-88b1-f726733018ae`

Esta política tiene las siguientes opciones:
+ **Encabezados incluidos en las solicitudes de origen:** host
+ **Cookies incluidas en las solicitudes de origen:** ninguna
+ **Cadenas de consulta incluidas en las solicitudes de origen:** ninguna

## UserAgentRefererHeaders
<a name="managed-origin-request-policy-user-agent-referer"></a>

[Consulte esta política en la consola de CloudFront](https://console.aws.amazon.com/cloudfront/v4/home#/policies/origin/acba4595-bd28-49b8-b9fe-13317c0390fa)

Esta política incluye solo los encabezados `User-Agent` y `Referer`. No incluye cadenas de consulta ni cookies.

Al utilizar CloudFormation, la AWS CLI o la API de CloudFront, el identificador de esta política es:

`acba4595-bd28-49b8-b9fe-13317c0390fa`

Esta política tiene las siguientes opciones:
+ **Encabezados incluidos en las solicitudes de origen:**
  + `User-Agent`
  + `Referer`
+ **Cookies incluidas en las solicitudes de origen:** ninguna
+ **Cadenas de consulta incluidas en las solicitudes de origen:** ninguna

# Añadido de encabezados de solicitudes de CloudFront
<a name="adding-cloudfront-headers"></a>

Puede configurar CloudFront para añadir encabezados HTTP específicos a las solicitudes que CloudFront recibe de los lectores y reenvía a su función de origen o [función perimetral](edge-functions.md). Los valores de estos encabezados HTTP se basan en las características del lector o de la solicitud del lector. Los encabezados proporcionan información sobre el tipo de dispositivo del lector, la dirección IP, la ubicación geográfica, el protocolo de solicitud (HTTP o HTTPS), la versión de HTTP, los detalles de conexión TLS, la [huella digital JA3](https://github.com/salesforce/ja3) y la huella digital JA4. También puede configurar el comportamiento de caché de la distribución para reenviar encabezados de WebSocket. Para obtener más información, consulte [Uso de WebSockets con distribuciones de CloudFront](distribution-working-with.websockets.md).

Con estos encabezados, su origen o su función periférica pueden recibir información sobre el lector sin necesidad de escribir su propio código para determinar esta información. Si su origen devuelve respuestas diferentes en función de la información de estos encabezados, puede incluirlas en la *clave de caché* para que CloudFront almacene en caché las respuestas por separado. Por ejemplo, su origen podría responder con contenido en un idioma específico según el país en el que se encuentre el lector, o con contenido adaptado a un tipo de dispositivo específico. Es posible que su origen también escriba estos encabezados en archivos de registro, que puede utilizar para determinar la información sobre dónde se encuentran sus lectores, en qué tipos de dispositivos se encuentran y mucho más.

Para incluir estos encabezados en la clave de caché, utilice una *política de caché*. Para obtener más información, consulte [Control de la clave de caché con una política](controlling-the-cache-key.md) y [Descripción de la clave de caché](understanding-the-cache-key.md).

Para recibir estos encabezados en el origen, pero sin incluirlos en la clave de caché, utilice una *política de solicitud de origen*. Para obtener más información, consulte [Control de las solicitudes de origen con una política](controlling-origin-requests.md).

**Topics**
+ [Encabezados de tipo de dispositivo](#cloudfront-headers-device-type)
+ [Encabezados de ubicación del espectador](#cloudfront-headers-viewer-location)
+ [Encabezados para determinar la estructura de los encabezados del espectador](#cloudfront-headers-viewer-headers)
+ [Encabezados relacionados con TLS](#tls-related-versions)
+ [Otros encabezados de CloudFront](#cloudfront-headers-other)

## Encabezados de tipo de dispositivo
<a name="cloudfront-headers-device-type"></a>

Puede agregar los siguientes encabezados para determinar el tipo de dispositivo del espectador. En función del valor del encabezado `User-Agent`, CloudFront establece el valor de estos encabezados en `true` o `false`. Si un dispositivo entra en más de una categoría, más de un valor puede ser `true`. Por ejemplo, en el caso de algunas tabletas, CloudFront establece tanto `CloudFront-Is-Mobile-Viewer` como `CloudFront-Is-Tablet-Viewer` en `true`.
+ `CloudFront-Is-Android-Viewer`: se establece en `true` cuando CloudFront determina que el lector es un dispositivo con el sistema operativo Android.
+ `CloudFront-Is-Desktop-Viewer`: se establece en `true` cuando CloudFront determina que el lector es un dispositivo de sobremesa.
+ `CloudFront-Is-IOS-Viewer`: se establece en `true` cuando CloudFront determina que el lector es un dispositivo con un sistema operativo móvil de Apple, como un iPhone, un iPod touch y algunos dispositivos iPad.
+ `CloudFront-Is-Mobile-Viewer`: se establece en `true` cuando CloudFront determina que el lector es un dispositivo móvil.
+ `CloudFront-Is-SmartTV-Viewer`: se establece en `true` cuando CloudFront determina que el lector es una TV inteligente.
+ `CloudFront-Is-Tablet-Viewer`: se establece en `true` cuando CloudFront determina que el lector es una tableta.

## Encabezados de ubicación del espectador
<a name="cloudfront-headers-viewer-location"></a>

Puede agregar los siguientes encabezados para determinar la ubicación del espectador. CloudFront determina los valores de estos encabezados en función de la dirección IP del espectador. Para los caracteres no ASCII en los valores de estos encabezados, CloudFront aplica la codificación de porcentaje de acuerdo con la [sección 1.2 de RFC 3986](https://tools.ietf.org/html/rfc3986#section-2.1).
+ `CloudFront-Viewer-Address`: contiene la dirección IP del espectador y el puerto de origen de la solicitud. Por ejemplo, un valor de encabezado de `198.51.100.10:46532` significa que la dirección IP del espectador es 198.51.100.10 y el puerto de origen de solicitud es 46532.
+ `CloudFront-Viewer-ASN`: contiene el número de sistema autónomo (ASN) del espectador.
**nota**  
Se puede agregar `CloudFront-Viewer-Address` y `CloudFront-Viewer-ASN` en una política de solicitud de origen, pero no en una política de caché.
+ `CloudFront-Viewer-Country`: contiene el código de país de dos letras del país del espectador. Para obtener una lista de códigos de países, consulte [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
+ `CloudFront-Viewer-City`: contiene el nombre de la ciudad del espectador.

Cuando agrega los siguientes encabezados, CloudFront los aplica a todas las solicitudes *excepto* aquellas que se originan en la red de AWS:
+ `CloudFront-Viewer-Country-Name`: contiene el nombre del país del espectador.
+ `CloudFront-Viewer-Country-Region`: contiene un código (hasta tres caracteres) que representa la región del espectador. La región es la subdivisión de primer nivel (la más amplia o menos específica) del código [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2).
+ `CloudFront-Viewer-Country-Region-Name`: contiene el nombre de la región del espectador. La región es la subdivisión de primer nivel (la más amplia o menos específica) del código [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2).
+ `CloudFront-Viewer-Latitude`: contiene la latitud aproximada del espectador.
+ `CloudFront-Viewer-Longitude`: contiene la longitud aproximada del espectador.
+ `CloudFront-Viewer-Metro-Code`: contiene el código del área metropolitana del espectador. Esto solo está presente cuando el lector se encuentra en los Estados Unidos.
+ `CloudFront-Viewer-Postal-Code`: contiene el código postal del espectador.
+ `CloudFront-Viewer-Time-Zone` contiene la zona horaria del espectador, en [formato de base de datos de zona horaria de IANA](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) (por ejemplo, `America/Los_Angeles`).

**nota**  
Es posible que `CloudFront-Viewer-City`, `CloudFront-Viewer-Metro-Code` y `CloudFront-Viewer-Postal-Code` no estén disponibles para todas las direcciones IP. Algunas direcciones IP no pueden geolocalizarse con la suficiente especificidad como para obtener esa información.

## Encabezados para determinar la estructura de los encabezados del espectador
<a name="cloudfront-headers-viewer-headers"></a>

Puede añadir los siguientes encabezados para ayudar a identificar al lector en función de los encabezados que envía. Por ejemplo, diferentes navegadores pueden enviar encabezados HTTP en un orden determinado. Si el navegador especificado en el encabezado `User-Agent` no coincide con el orden esperado de los encabezados de ese navegador, puede denegar la solicitud. Además, si el valor de `CloudFront-Viewer-Header-Count` no coincide con el número de encabezados de `CloudFront-Viewer-Header-Order`, puede denegar la solicitud.
+ `CloudFront-Viewer-Header-Order`: contiene los nombres de los encabezados del lector en el orden solicitado, separados por dos puntos. Por ejemplo: `CloudFront-Viewer-Header-Order: Host:User-Agent:Accept:Accept-Encoding`. Los encabezados que superen el límite de 7680 caracteres se truncan.
+ `CloudFront-Viewer-Header-Count`: contiene el número total de encabezados del lector.

## Encabezados relacionados con TLS
<a name="tls-related-versions"></a>

Puede añadir los siguientes encabezados para determinar la huella digital de JA3, la huella digital de JA4 y los detalles de la conexión TLS del espectador:
+ `CloudFront-Viewer-JA3-Fingerprint`: contiene la [huella digital JA3](https://github.com/salesforce/ja3) del lector. La huella digital JA3 puede ayudarle a determinar si la solicitud proviene de un cliente conocido, si se trata de malware o un bot malintencionado, o es una aplicación esperada (incluida en la lista de permitidos). 
+ `CloudFront-Viewer-JA4-Fingerprint`: contiene la huella digital JA4 del espectador. Similar a la huella digital JA3, la [huella digital JA4](https://github.com/FoxIO-LLC/ja4) puede ayudarlo a determinar si la solicitud proviene de un cliente conocido, si se trata de malware o un bot malintencionado, o es una aplicación esperada (incluida en la lista de permitidos). Puede usar la huella digital para crear una base de datos con los agentes buenos y malos conocidos para usarlos al inspeccionar las solicitudes HTTP. A continuación, puede inspeccionar el valor del encabezado en los servidores web de la aplicación o en [Lambda@Edge](lambda-at-the-edge.md) y [CloudFront Functions](cloudfront-functions.md) para comparar el valor del encabezado con una lista de huellas digitales de malware conocidas para bloquear los clientes malintencionados.
+ `CloudFront-Viewer-TLS`: contiene la versión de SSL/TLS, el cifrado e información acerca del protocolo de enlace SSL/TLS que se ha utilizado para la conexión entre el lector y CloudFront. El valor del encabezado tiene el siguiente formato:

  ```
  SSL/TLS_version:cipher:handshake_information
  ```

  En `handshake_information`, el encabezado puede contener uno de los siguientes valores:
  + `fullHandshake`: se aceptó correctamente el protocolo de enlace para la sesión de SSL/TLS.
  + `sessionResumed`: se reanudó una sesión SSL/TLS anterior.
  + `connectionReused`: se ha reutilizado una conexión SSL/TLS anterior.

  A continuación, se muestran algunos valores de ejemplo para este encabezado:

  ```
  TLSv1.3:TLS_AES_128_GCM_SHA256:sessionResumed
  ```

  ```
  TLSv1.2:ECDHE-ECDSA-AES128-GCM-SHA256:connectionReused
  ```

  ```
  TLSv1.1:ECDHE-RSA-AES128-SHA256:fullHandshake
  ```

  ```
  TLSv1:ECDHE-RSA-AES256-SHA:fullHandshake
  ```

  Para obtener la lista completa de las posibles versiones y cifrados de SSL/TLS que pueden estar en este valor de encabezado, consulte [Protocolos y cifrados admitidos entre lectores y CloudFront](secure-connections-supported-viewer-protocols-ciphers.md).

**Notas**  
Las huellas digitales JA3 y JA4 se derivan del paquete SSL/TLS `Client Hello`. Solo están presentes para las solicitudes HTTPS.
Para estos encabezados relacionados con TLS, puede agregarlos a una [política de solicitud de origen](controlling-origin-requests.md), pero no a una [política de caché](controlling-the-cache-key.md).

## Otros encabezados de CloudFront
<a name="cloudfront-headers-other"></a>

Puede agregar los siguientes encabezados para determinar el URI de la solicitud original del espectador, los parámetros y valores de la cadena de consulta de la solicitud original, el protocolo, la versión:
+ `CloudFront-Error-Uri`: contiene el URI de la solicitud original que se recibió del lector.
+ `CloudFront-Error-Args`: contiene los parámetros y valores de la cadena de consulta de la solicitud original.
+ `CloudFront-Forwarded-Proto`: contiene el protocolo de la solicitud del espectador (HTTP o HTTPS).
+ `CloudFront-Viewer-Http-Version`: contiene la versión HTTP de la solicitud del espectador.

# Descripción de cómo funcionan juntas las políticas de solicitud de origen y las políticas de caché
<a name="understanding-how-origin-request-policies-and-cache-policies-work-together"></a>

Puede usar una [política de solicitud de origen](controlling-origin-requests.md) de CloudFront para controlar las solicitudes que CloudFront envía al origen, que se denominan *solicitudes de origen*. Para utilizar una política de solicitud de origen, debe asociar una [política de caché](controlling-the-cache-key.md) al mismo comportamiento de caché. No se puede utilizar una política de solicitud de origen en un comportamiento de caché sin una política de caché. Para obtener más información, consulte [Control de las solicitudes de origen con una política](controlling-origin-requests.md).

Las políticas de solicitud de origen y las políticas de caché funcionan en conjunto para determinar los valores que CloudFront incluye en las solicitudes de origen. Todas las cadenas de consulta de URL, encabezados HTTP y cookies que especifique en la clave de caché (mediante una política de caché) se incluyen automáticamente en las solicitudes de origen. Todas las cadenas de consulta, encabezados y cookies adicionales que especifique en una política de solicitud de origen también se incluyen en las solicitudes de origen (pero no en la clave de caché).

Las políticas de solicitudes de origen y las políticas de caché tienen configuraciones que es posible que parezcan que están en conflicto entre sí. Por ejemplo, es posible que una política permita determinados valores y que otra los bloquee. La siguiente tabla explica qué valores incluye CloudFront en las solicitudes de origen cuando se utilizan juntas la configuración de una política de solicitudes de origen y una política de caché. Esta configuración generalmente se aplica a todos los tipos de valores (cadenas de consulta, encabezados y cookies), con la excepción de que no puede especificar todos los encabezados ni utilizar una lista de bloqueo de encabezados en una política de caché.


|  |  **Política de solicitud de origen**  |  |  **Ninguna**  |  **Todo**  |  **Lista de permitidos**  |  **Lista de bloqueos**  | 
| --- | --- | --- | --- | --- | --- | --- | 
|  **Política de caché**  | 
|  **Ninguna**  |  No se incluye ningún valor de solicitud de lector en la solicitud de origen, excepto los valores predeterminados que se incluyen en todas las solicitudes de origen. Para obtener más información, consulte [Control de las solicitudes de origen con una política](controlling-origin-requests.md).  |  Todos los valores de la solicitud de lector se incluyen en la solicitud de origen.  |  Solo los valores especificados en la política de solicitud de origen se incluyen en la solicitud de origen.  |  Todos los valores de la solicitud de lector ***excepto*** aquellos especificados en la política de solicitud de origen se incluyen en la solicitud de origen.  | 
|  **Todo** **Nota:** No puede especificar todos los encabezados de una política de caché.  |  Todas las cadenas de consulta y cookies de la solicitud de lector se incluyen en la solicitud de origen.  |  Todos los valores de la solicitud de lector se incluyen en la solicitud de origen.  |  Todas las cadenas de consulta y cookies de la solicitud de lector y los encabezados especificados en la política de solicitud de origen se incluyen en la solicitud de origen.  |  Todas las cadenas de consulta y cookies de la solicitud de lector se incluyen en la solicitud de origen, incluso aquellos especificados en la lista de bloqueo de la política de solicitud de origen. La configuración de la política de caché invalida la lista de bloqueo de la política de solicitud de origen.  | 
|  **Lista de permitidos**  |  Solo los valores especificados de la solicitud de lector se incluyen en la solicitud de origen.  |  Todos los valores de la solicitud de lector se incluyen en la solicitud de origen.  |  Todos los valores especificados en la política de caché o la política de la solicitud de origen se incluyen en la solicitud de origen.  |  Los valores especificados en la política de caché se incluyen en la solicitud de origen, incluso si esos mismos valores se especifican en la lista de bloqueo de la política de solicitud de origen. La lista de permitidos de la política de caché invalida la lista de bloqueo de la política de solicitud de origen.  | 
|  **Lista de bloqueos** **Nota:** No puede especificar los encabezados de una lista de bloqueo de una política de caché.  |  Todas las cadenas de consulta y cookies de la solicitud de lector ***excepto*** aquellas especificadas se incluyen en la solicitud de origen.  |  Todos los valores de la solicitud de lector se incluyen en la solicitud de origen.  |  Los valores especificados en la política de solicitud de origen se incluyen en la solicitud de origen, aunque esos mismos valores se especifiquen en la lista de bloqueo de la política de caché. La lista de permitidos de la política de solicitud de origen invalida la lista de bloqueo de la política de caché.  |  Todos los valores de la solicitud de lector ***excepto*** aquellos especificados en la política de caché o la política de solicitud de origen se incluyen en la solicitud de origen.  | 