HttpOriginProps Struct
Properties for an Origin backed by an S3 website-configured bucket, load balancer, or custom HTTP server.
Example
const oac = new cloudfront.S3OriginAccessControl(this, 'MyMrapOAC', {
signing: cloudfront.Signing.SIGV4A_ALWAYS,
});
new cloudfront.Distribution(this, 'myDist', {
defaultBehavior: {
origin: new origins.HttpOrigin('mfzwi23gnjvgw.mrap.accesspoint.s3-global.amazonaws.com', {
originAccessControlId: oac.originAccessControlId,
}),
},
});
Properties
connectionAttemptsoptionalnumberconnection_attemptsoptionalint | floatconnectionAttemptsoptionalNumberConnectionAttemptsoptionaldoubleConnectionAttemptsoptional*float64= 3#valid values are 1, 2, or 3 attempts.
connectionTimeoutoptionalDurationconnection_timeoutoptionalDurationconnectionTimeoutoptionalDurationConnectionTimeoutoptionalDurationConnectionTimeoutoptionalDuration= Duration.seconds(10)#Valid values are 1-10 seconds, inclusive.
customHeadersoptional{ [key: string]: string }custom_headersoptionaltyping.Mapping[str, str]customHeadersoptionalMap<String, String>CustomHeadersoptionalIDictionary<string, string>CustomHeadersoptional*map[string]*string= {}#httpPortoptionalnumberhttp_portoptionalint | floathttpPortoptionalNumberHttpPortoptionaldoubleHttpPortoptional*float64= 80#httpsPortoptionalnumberhttps_portoptionalint | floathttpsPortoptionalNumberHttpsPortoptionaldoubleHttpsPortoptional*float64= 443#ipAddressTypeoptionalOriginIpAddressTypeip_address_typeoptionalOriginIpAddressTypeipAddressTypeoptionalOriginIpAddressTypeIpAddressTypeoptionalOriginIpAddressTypeIpAddressTypeoptionalOriginIpAddressType#Default: undefined - AWS Cloudfront default is IPv4
If your origin uses both IPv4 and IPv6 protocols, you can choose dualstack to help optimize reliability.
keepaliveTimeoutoptionalDurationkeepalive_timeoutoptionalDurationkeepaliveTimeoutoptionalDurationKeepaliveTimeoutoptionalDurationKeepaliveTimeoutoptionalDuration= Duration.seconds(5)#notes
The minimum is 1 second. The maximum is governed by the keep-alive timeout per origin quota, which is adjustable, so the effective maximum depends on the target account.
The default quota allows up to 300 seconds; higher values require an approved limit increase in the target account, and otherwise produce an error at deploy time.
originAccessControlIdoptionalstringorigin_access_control_idoptionalstroriginAccessControlIdoptionalStringOriginAccessControlIdoptionalstringOriginAccessControlIdoptional*string#Default: no origin access control
originIdoptionalstringorigin_idoptionalstroriginIdoptionalStringOriginIdoptionalstringOriginIdoptional*string#Default: an originid will be generated for you
This value must be unique within the distribution.
originPathoptionalstringorigin_pathoptionalstroriginPathoptionalStringOriginPathoptionalstringOriginPathoptional*string= '/'#Must begin, but not end, with '/' (e.g., '/production/images').
originShieldEnabledoptionalbooleanorigin_shield_enabledoptionalbooloriginShieldEnabledoptionalBooleanOriginShieldEnabledoptionalboolOriginShieldEnabledoptional*bool= true#originShieldRegionoptionalstringorigin_shield_regionoptionalstroriginShieldRegionoptionalStringOriginShieldRegionoptionalstringOriginShieldRegionoptional*string#Default: origin shield not enabled
originSslProtocolsoptionalOriginSslPolicy[]origin_ssl_protocolsoptionaltyping.List[OriginSslPolicy]originSslProtocolsoptionalList<OriginSslPolicy>OriginSslProtocolsoptionalOriginSslPolicy[]OriginSslProtocolsoptional*[]OriginSslPolicy= OriginSslPolicy.TLS_V1_2#protocolPolicyoptionalOriginProtocolPolicyprotocol_policyoptionalOriginProtocolPolicyprotocolPolicyoptionalOriginProtocolPolicyProtocolPolicyoptionalOriginProtocolPolicyProtocolPolicyoptionalOriginProtocolPolicy= OriginProtocolPolicy.HTTPS_ONLY#readTimeoutoptionalDurationread_timeoutoptionalDurationreadTimeoutoptionalDurationReadTimeoutoptionalDurationReadTimeoutoptionalDuration= Duration.seconds(30)#notes
The minimum is 1 second. The maximum is governed by the origin response timeout quota, which is adjustable, so the effective maximum depends on the target account.
The default quota allows up to 120 seconds; higher values require an approved limit increase in the target account, and otherwise produce an error at deploy time.
responseCompletionTimeoutoptionalDurationresponse_completion_timeoutoptionalDurationresponseCompletionTimeoutoptionalDurationResponseCompletionTimeoutoptionalDurationResponseCompletionTimeoutoptionalDuration#Default: undefined - AWS CloudFront default is not enforcing a maximum value
If the complete response isn't received from the origin by this time, CloudFront ends the connection.
Valid values are 1-3600 seconds, inclusive.