Show / Hide Table of Contents

Class ResponseHeadersContentTypeOptions

Determines whether CloudFront includes the X-Content-Type-Options HTTP response header with its value set to nosniff.

Inheritance
object
ResponseHeadersContentTypeOptions
Implements
IResponseHeadersContentTypeOptions
Inherited Members
object.GetType()
object.MemberwiseClone()
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
Namespace: Amazon.CDK.AWS.CloudFront
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public class ResponseHeadersContentTypeOptions : IResponseHeadersContentTypeOptions
Syntax (vb)
Public Class ResponseHeadersContentTypeOptions Implements IResponseHeadersContentTypeOptions
Remarks

ExampleMetadata: infused

Examples
// Using an existing managed response headers policy
            S3Origin bucketOrigin;

            new Distribution(this, "myDistManagedPolicy", new DistributionProps {
                DefaultBehavior = new BehaviorOptions {
                    Origin = bucketOrigin,
                    ResponseHeadersPolicy = ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS
                }
            });

            // Creating a custom response headers policy -- all parameters optional
            var myResponseHeadersPolicy = new ResponseHeadersPolicy(this, "ResponseHeadersPolicy", new ResponseHeadersPolicyProps {
                ResponseHeadersPolicyName = "MyPolicy",
                Comment = "A default policy",
                CorsBehavior = new ResponseHeadersCorsBehavior {
                    AccessControlAllowCredentials = false,
                    AccessControlAllowHeaders = new [] { "X-Custom-Header-1", "X-Custom-Header-2" },
                    AccessControlAllowMethods = new [] { "GET", "POST" },
                    AccessControlAllowOrigins = new [] { "*" },
                    AccessControlExposeHeaders = new [] { "X-Custom-Header-1", "X-Custom-Header-2" },
                    AccessControlMaxAge = Duration.Seconds(600),
                    OriginOverride = true
                },
                CustomHeadersBehavior = new ResponseCustomHeadersBehavior {
                    CustomHeaders = new [] { new ResponseCustomHeader { Header = "X-Amz-Date", Value = "some-value", Override = true }, new ResponseCustomHeader { Header = "X-Amz-Security-Token", Value = "some-value", Override = false } }
                },
                SecurityHeadersBehavior = new ResponseSecurityHeadersBehavior {
                    ContentSecurityPolicy = new ResponseHeadersContentSecurityPolicy { ContentSecurityPolicy = "default-src https:;", Override = true },
                    ContentTypeOptions = new ResponseHeadersContentTypeOptions { Override = true },
                    FrameOptions = new ResponseHeadersFrameOptions { FrameOption = HeadersFrameOption.DENY, Override = true },
                    ReferrerPolicy = new ResponseHeadersReferrerPolicy { ReferrerPolicy = HeadersReferrerPolicy.NO_REFERRER, Override = true },
                    StrictTransportSecurity = new ResponseHeadersStrictTransportSecurity { AccessControlMaxAge = Duration.Seconds(600), IncludeSubdomains = true, Override = true },
                    XssProtection = new ResponseHeadersXSSProtection { Protection = true, ModeBlock = false, ReportUri = "https://example.com/csp-report", Override = true }
                },
                RemoveHeaders = new [] { "Server" },
                ServerTimingSamplingRate = 50
            });
            new Distribution(this, "myDistCustomPolicy", new DistributionProps {
                DefaultBehavior = new BehaviorOptions {
                    Origin = bucketOrigin,
                    ResponseHeadersPolicy = myResponseHeadersPolicy
                }
            });

Synopsis

Constructors

ResponseHeadersContentTypeOptions()

Determines whether CloudFront includes the X-Content-Type-Options HTTP response header with its value set to nosniff.

Properties

Override

A Boolean that determines whether CloudFront overrides the X-Content-Type-Options HTTP response header received from the origin with the one specified in this response headers policy.

Constructors

ResponseHeadersContentTypeOptions()

Determines whether CloudFront includes the X-Content-Type-Options HTTP response header with its value set to nosniff.

public ResponseHeadersContentTypeOptions()
Remarks

ExampleMetadata: infused

Examples
// Using an existing managed response headers policy
            S3Origin bucketOrigin;

            new Distribution(this, "myDistManagedPolicy", new DistributionProps {
                DefaultBehavior = new BehaviorOptions {
                    Origin = bucketOrigin,
                    ResponseHeadersPolicy = ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS
                }
            });

            // Creating a custom response headers policy -- all parameters optional
            var myResponseHeadersPolicy = new ResponseHeadersPolicy(this, "ResponseHeadersPolicy", new ResponseHeadersPolicyProps {
                ResponseHeadersPolicyName = "MyPolicy",
                Comment = "A default policy",
                CorsBehavior = new ResponseHeadersCorsBehavior {
                    AccessControlAllowCredentials = false,
                    AccessControlAllowHeaders = new [] { "X-Custom-Header-1", "X-Custom-Header-2" },
                    AccessControlAllowMethods = new [] { "GET", "POST" },
                    AccessControlAllowOrigins = new [] { "*" },
                    AccessControlExposeHeaders = new [] { "X-Custom-Header-1", "X-Custom-Header-2" },
                    AccessControlMaxAge = Duration.Seconds(600),
                    OriginOverride = true
                },
                CustomHeadersBehavior = new ResponseCustomHeadersBehavior {
                    CustomHeaders = new [] { new ResponseCustomHeader { Header = "X-Amz-Date", Value = "some-value", Override = true }, new ResponseCustomHeader { Header = "X-Amz-Security-Token", Value = "some-value", Override = false } }
                },
                SecurityHeadersBehavior = new ResponseSecurityHeadersBehavior {
                    ContentSecurityPolicy = new ResponseHeadersContentSecurityPolicy { ContentSecurityPolicy = "default-src https:;", Override = true },
                    ContentTypeOptions = new ResponseHeadersContentTypeOptions { Override = true },
                    FrameOptions = new ResponseHeadersFrameOptions { FrameOption = HeadersFrameOption.DENY, Override = true },
                    ReferrerPolicy = new ResponseHeadersReferrerPolicy { ReferrerPolicy = HeadersReferrerPolicy.NO_REFERRER, Override = true },
                    StrictTransportSecurity = new ResponseHeadersStrictTransportSecurity { AccessControlMaxAge = Duration.Seconds(600), IncludeSubdomains = true, Override = true },
                    XssProtection = new ResponseHeadersXSSProtection { Protection = true, ModeBlock = false, ReportUri = "https://example.com/csp-report", Override = true }
                },
                RemoveHeaders = new [] { "Server" },
                ServerTimingSamplingRate = 50
            });
            new Distribution(this, "myDistCustomPolicy", new DistributionProps {
                DefaultBehavior = new BehaviorOptions {
                    Origin = bucketOrigin,
                    ResponseHeadersPolicy = myResponseHeadersPolicy
                }
            });

Properties

Override

A Boolean that determines whether CloudFront overrides the X-Content-Type-Options HTTP response header received from the origin with the one specified in this response headers policy.

public bool Override { get; set; }
Property Value

bool

Remarks

ExampleMetadata: infused

Implements

IResponseHeadersContentTypeOptions
Back to top Generated by DocFX