CDK CloudFront Rules
This CDK construct produces a CloudFront Function (not to be confused with
Lambda @ Edge) that simplifies CloudFront-based URL rewriting and redirects.
Example
const cloudFrontRules = new CloudFrontRules(scope, 'CloudFrontRules', {
rules: [
Rule.rewriteRule({
pattern: '^/rewrite-(.*)',
location: '/$1',
}),
Rule.rewriteRule({
pattern: '^/redirect-(.*)',
patternFlags: 'i',
location: 'https://www.example.com/$1',
redirectType: RedirectType.TEMPORARY,
}),
],
});
const distribution = new cloudfront.Distribution(scope, 'Distribution', {
defaultBehavior: {
origin: new cloudfront_origins.HttpOrigin('www.example.com', {
protocolPolicy: cloudfront.OriginProtocolPolicy.HTTPS_ONLY,
}),
functionAssociations: [{
eventType: cloudfront.FunctionEventType.VIEWER_REQUEST,
function: cloudFrontRules.function,
}],
},
});