# OriginProtocolPolicy

Defines what protocols CloudFront will use to connect to an origin.

- Source: [`aws-cloudfront/lib/distribution.ts`](https://github.com/aws/aws-cdk/blob/v2.274.0/packages/aws-cdk-lib/aws-cloudfront/lib/distribution.ts#L968)

## Example

```ts
declare const loadBalancer: elbv2.ApplicationLoadBalancer;
const origin = new origins.LoadBalancerV2Origin(loadBalancer, {
  connectionAttempts: 3,
  connectionTimeout: Duration.seconds(5),
  readTimeout: Duration.seconds(45),
  responseCompletionTimeout: Duration.seconds(120),
  keepaliveTimeout: Duration.seconds(45),
  protocolPolicy: cloudfront.OriginProtocolPolicy.MATCH_VIEWER,
});
```

## Members

| Member | Description |
| --- | --- |
| `HTTP_ONLY` | Connect on HTTP only. |
| `MATCH_VIEWER` | Connect with the same protocol as the viewer. |
| `HTTPS_ONLY` | Connect on HTTPS only. |

## Referenced by

- [`CustomOriginConfig`](/v2/docs/aws-cdk-lib.aws_cloudfront.CustomOriginConfig).originProtocolPolicy
- [`HttpOriginProps`](/v2/docs/aws-cdk-lib.aws_cloudfront_origins.HttpOriginProps).protocolPolicy
- [`VpcOriginOptions`](/v2/docs/aws-cdk-lib.aws_cloudfront.VpcOriginOptions).protocolPolicy
