@aws-cdk/aws-cloudfront
The CDK Construct Library for AWS::CloudFront
npm install @aws-cdk/aws-cloudfront@1.144.0
ResponseHeadersXSSProtection
Determines whether CloudFront includes the X-XSS-Protection HTTP response header and the header’s value.
Example
// Using an existing managed response headers policydeclare const bucketOrigin: origins.S3Origin;new cloudfront.Distribution(this, 'myDistManagedPolicy', {defaultBehavior: {origin: bucketOrigin,responseHeadersPolicy: cloudfront.ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS,},});// Creating a custom response headers policy -- all parameters optionalconst myResponseHeadersPolicy = new cloudfront.ResponseHeadersPolicy(this, 'ResponseHeadersPolicy', {responseHeadersPolicyName: 'MyPolicy',comment: 'A default policy',corsBehavior: {accessControlAllowCredentials: false,accessControlAllowHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],accessControlAllowMethods: ['GET', 'POST'],accessControlAllowOrigins: ['*'],accessControlExposeHeaders: ['X-Custom-Header-1', 'X-Custom-Header-2'],accessControlMaxAge: Duration.seconds(600),originOverride: true,},customHeadersBehavior: {customHeaders: [{ header: 'X-Amz-Date', value: 'some-value', override: true },{ header: 'X-Amz-Security-Token', value: 'some-value', override: false },],},securityHeadersBehavior: {contentSecurityPolicy: { contentSecurityPolicy: 'default-src https:;', override: true },contentTypeOptions: { override: true },frameOptions: { frameOption: cloudfront.HeadersFrameOption.DENY, override: true },referrerPolicy: { referrerPolicy: cloudfront.HeadersReferrerPolicy.NO_REFERRER, override: true },strictTransportSecurity: { accessControlMaxAge: Duration.seconds(600), includeSubdomains: true, override: true },xssProtection: { protection: true, modeBlock: true, reportUri: 'https://example.com/csp-report', override: true },},});new cloudfront.Distribution(this, 'myDistCustomPolicy', {defaultBehavior: {origin: bucketOrigin,responseHeadersPolicy: myResponseHeadersPolicy,},});
import { ResponseHeadersXSSProtection } from '@aws-cdk/aws-cloudfront'const responseHeadersXSSProtection: ResponseHeadersXSSProtection = { ... }
Name | Type | Description |
---|---|---|
override | boolean | A Boolean that determines whether CloudFront overrides the X-XSS-Protection HTTP response header received from the origin with the one specified in this response headers policy. |
protection | boolean | A Boolean that determines the value of the X-XSS-Protection HTTP response header. |
modeBlock | boolean | A Boolean that determines whether CloudFront includes the mode=block directive in the X-XSS-Protection header. |
reportUri | string | A reporting URI, which CloudFront uses as the value of the report directive in the X-XSS-Protection header. |
public readonly override: boolean;
- Type: boolean
A Boolean that determines whether CloudFront overrides the X-XSS-Protection HTTP response header received from the origin with the one specified in this response headers policy.
public readonly protection: boolean;
- Type: boolean
A Boolean that determines the value of the X-XSS-Protection HTTP response header.
When this setting is true, the value of the X-XSS-Protection header is 1. When this setting is false, the value of the X-XSS-Protection header is 0.
public readonly modeBlock: boolean;
- Type: boolean
- Default: false
A Boolean that determines whether CloudFront includes the mode=block directive in the X-XSS-Protection header.
public readonly reportUri: string;
- Type: string
- Default: no report uri
A reporting URI, which CloudFront uses as the value of the report directive in the X-XSS-Protection header.
You cannot specify a ReportUri when ModeBlock is true.
Use the snippets below in your Git repositories or elsewhere to add a button that links to this package. The button will automatically update to light mode or dark mode based on whether the user's client has requested a light or dark theme.
[](https://constructs.dev/packages/@aws-cdk/aws-cloudfront)
<a href="https://constructs.dev/packages/@aws-cdk/aws-cloudfront"><img src="https://constructs.dev/badge?package=%40aws-cdk%2Faws-cloudfront" alt="View on Construct Hub"/></a>