CDK constructs library that allows you to build AWS CloudFront Extensions in JavaScript, TypeScript or Python.
import * as cfplus from 'cdk-cloudfront-plus';
const app = new cdk.App();
const stack = new cdk.Stack(app, 'demo-stack');
// prepare the `modify resonse header` extension
const modifyRespHeader = new extensions.ModifyResponseHeader(stack, 'ModifyResp');
// prepare the `anti-hotlinking` extension
const antiHotlinking = new extensions.AntiHotlinking(stack, 'AntiHotlink', {
referer: [
'example.com',
'exa?ple.*',
],
});
// create the cloudfront distribution with extension(s)
new Distribution(stack, 'dist', {
defaultBehavior: {
origin: new origins.HttpOrigin('aws.amazon.com'),
edgeLambdas: [
modifyRespHeader,
antiHotlinking,
],
},
});
Extension Name | Category | Solution ID | Function/Folder Name | Status |
---|---|---|---|---|
Access Origin by geolocation | Origin Selection | SO8118 | cf-access-origin-by-geolocation | WIP |
Convert Query String | Override Request | SO8113 | cf-convert-query-string | WIP |
OAuth2 Authentication | Authentication | SO8131 | cf-authentication-by-oauth2 | WIP |
Cognito Redirect | Authentication | SO8132 | cf-authentication-by-cognito-redirect | WIP |
Custom Log to Kinesis Firehose | Logging | SO8133 | cf-global-data-ingestion | WIP |
HTTP 302 from Origin | URL Redirect | SO8103 | cf-http302-from-origin | WIP |
Default Directory Index for Amazon S3 Origin | URL Redirect | SO8134 | cf-default-dir-index | Completed |
Modify Response Header | Header Rewrite | SO8105 | modify-response-header | Completed |
Anti Hotlinking | Security | SO8126 | anti-hotlinking | Completed |
Add Security Headers | Security | SO8102 | add-security-headers | Completed |