Giter Club home page Giter Club logo

amazon-cloudfront-developer-guide's Introduction

amazon-cloudfront-developer-guide's People

Contributors

adamchainz avatar adeleke-akinade avatar alasdairnicol avatar aldy120 avatar alexwlchan avatar amitaber avatar anush0247 avatar atz avatar berniedurfee-ge avatar biglucas avatar blange avatar brandondove avatar chenjie avatar corollari avatar deki avatar dulac avatar eric-johnson avatar hyandell avatar joshbean avatar jsbonso avatar jtsaito avatar jweinsteincbt avatar knightjoel avatar monty241 avatar nake89 avatar staciasnapp avatar tail-wind avatar thiskevinwang avatar vcamelot avatar zarnovican avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

amazon-cloudfront-developer-guide's Issues

Inaccuracies or unclear guidance on S3 origins

On this page:

It seems S3 buckets configured as website endpoints are implied to still be defined as origins of type S3Origin, yet trying to create a distribution with such an origin will fail. Rather, a CustomOriginConfig must be used. I'm requesting more specific wording and guidance in the documentation to clarify the type of origin to use, and example origin configurations for each case (plain S3, S3 as website, and custom).

Help Wanted - Examples of Using Signed Cookies for Serving Private Content

Setting up CloudFront to serve private content by using signed cookies can be a challenge, and our content doesn't currently include code samples for using signed cookies. If you've set up private content with CloudFront by using signed cookies, consider sharing your steps and code to help others who are working to get this set up.

Thank you very much, on behalf of all of your colleagues who want to use private cookies with CloudFront!

Removing white space from a (binary) signature seems wrong

https://github.com/awsdocs/amazon-cloudfront-developer-guide/blob/main/doc_source/private-content-creating-signed-url-canned-policy.md#L133

says:

Remove white space (including tabs and newline characters) from the hashed and signed string.

This sounds wrong: Removing white space from the binary representation makes no sense, it is not even properly defined (would that be an ASCII interpretation of the binary? Or UTF8)? Also, the perl sample code does not do it.

Custom Host Headers in Origin Policy are Capitalized automatically without providing a feedback to the user

Hi
Following this article http://docs.aws.amazon.com/en_us/AmazonCloudFront/latest/DeveloperGuide/restrict-access-to-load-balancer.html
I realize that the custom header specified in the "Origin Custom Headers" section of the origin policy is transformed as the first letters of the words it is made of are capitalized. For example i specified a custom header named "elb-key" and at the origin it is received as "Elb-Key". It was a long troubleshooting to figure it out.
I suggest to update the UI to make it super clear what is the value used at runtime.
At least mention this clearly in the documentation.

Please add articles for HTTP/3 support for Amazon CloudFront

New – HTTP/3 Support for Amazon CloudFront
https://aws.amazon.com/jp/blogs/aws/new-http-3-support-for-amazon-cloudfront/

https://github.com/awsdocs/amazon-cloudfront-developer-guide/blob/a21fd3218dcb37e721a81e498e438e4e7672b786/doc_source/distribution-web-values-specify.md#DownloadDistValuesSupportedHTTPVersions

Supported HTTP versions
Choose the HTTP versions that you want your distribution to support when viewers communicate with CloudFront. For viewers and CloudFront to use HTTP/2, viewers must support TLS 1.2 or later, and must support Server Name Identification (SNI).

In general, configuring CloudFront to communicate with viewers using HTTP/2 reduces latency. You can improve performance by optimizing for HTTP/2. For more information, do an internet search for "http/2 optimization."

Please add articles for HTTP/3 support for Amazon CloudFront.

examples:

https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AmazonCloudFront_DevGuide.pdf

Supported HTTP versions
Choose the HTTP versions that you want your distribution to support when viewers communicate with
CloudFront.
For viewers and CloudFront to use HTTP/2, viewers must support TLSv1.2 or later, and Server Name
Indication (SNI).
For viewers and CloudFront to use HTTP/3, viewers must support TLSv1.3 and Server Name Indication
(SNI). CloudFront supports HTTP/3 connection migration to allow the viewer to switch networks without
losing connection. For more information about connection migration, see Connection Migration at RFC
9000.

Help Wanted - Example Use Cases for Lambda@Edge

If you've written a Lambda@Edge function to use with CloudFront that addresses a common pain point or use case, consider replying to this issue and sharing your steps. I'd like to include more practical, straightforward use case tutorials in the CloudFront docs, and your help would be much appreciated!

Help Wanted - Simple Tutorial for Setting Up CloudFront with a Website

If you have a simple example of setting up CloudFront with your website using secure HTTPS access, consider replying to this issue and sharing your step-by-step example. I'd like to include more practical, straightforward use case tutorials in the CloudFront docs, and your help would be much appreciated!

Invalidation paths leading slash inconsistency

Hello,

Under https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html#invalidation-specifying-objects, the docs say:

Whether you invalidate files by using the CloudFront console or the CloudFront API, the requirements and restrictions for specifying files are the same.

However, when it comes to specifying a leading slash, I believe this is not true.
On the console, leading slashes are optional. When attempting to make an API call, I encountered an error until I added a leading slash to all of the paths.

This may be something that's easier to fix on the API side than the docs, but I figured this would be the best place to get the ball rolling.

CloudFront 503 error page incomplete: does not document internal errors

The page about 503 errors - here on Github - is not complete, and does not mention a relatively opaque error I see every so often.

The error reads...

<?xml version="1.0"?>
<ErrorResponse xmlns="http://cloudfront.amazonaws.com/doc/2020-05-31/">
<Error>
<Type>Receiver</Type>
<Code>ServiceUnavailable</Code>
<Message>CloudFront encountered an internal error. Please try again.</Message>
</Error>
<RequestId>
(myrequestid)
</RequestId>
</ErrorResponse>

There should be a section on what causes CloudFront encountered an internal error. Please try again. and what we, as developers, should do to fix this (if anything).

As a "basic" user, only spending around $9,000 per year on AWS, I don't have access to paid support, so ensuring these documents are up to date is critical.

Unfortunately, I can only report this documentation oversight, not help in documenting it.

Setting cookies

Hey folks,

I'm trying to figure out how to set and persist cookies in a Lambda@Edge function. The documentation here indicates the example is setting cookies, but all I see is that it is reading cookies and seeing if they are set, and otherwise returning a random jpg. Is it possible to set a cookie within a Lambda@Edge function with CloudFront? Or am I barking up the wrong tree and need a different solution?

Thanks in advance.
Clark

How cloudfront put request add metadata to s3 key?

It seem that there is no document about how to set metadata when use s3 as origin access.

I use cloudfront origin access presigned url for customers to upload files. I don't find too much documents for to special header to make the file in s3 have the metadata. For example I want the s3 file have the 'content-length' metedata. But add 'content-length' in header don't take effect. https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/forward-custom-headers.html say we can't even use ' X-Amz-*' so how can I set metadata using the cloudfront upload?

Invalidation with Spaces or Special Characters

Greetings,

I was just having trouble invalidating and object that contained both spaces " " and a dash character. Originally parsed the file name to many files that did not exist so then I tried using the escaped URL ["%20", etc] and at first I didn't see the change so then I tried quotes which gave an error method. After checking again I saw the change too so I'm assuming the escaped URL worked.

I think an example showing how to handle spaces and/or special characters would be help at this page because it's linked from the AWS CloudFront Console:

On the help topic:
https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html
https://github.com/awsdocs/amazon-cloudfront-developer-guide/blob/main/doc_source/Invalidation.md

And after going though this I thought an interface to select the objects (rather than type then) would be ideal. Granted I know that it would take a lot of work and is easier said than done but if something like that were made in the future I think it would be a nice addition to this feature in the console.

Thanks and keep up the good work!

One shard can ingest 1000 records/sec

I think we need at least 50 shards for the real-time log example below as each shard can ingest 1000 records per second:

For example, assume your distribution receives 50,000 requests per second, and that your real-time log records size is typically 500 bytes. This means that your real-time log configuration could generate 25,000,000 bytes (50,000 multiplied by 500), or 23.84 MB, per second. In this scenario you would need at least 24 shards. To add a buffer of about 20%, you would specify 29 shards.

Help Wanted - Troubleshooting Tips & Strategies for Lambda@Edge

It can be challenging to track down what the issues are when a Lambda@Edge function isn't working the way you want it to, especially if you're just getting started with using Lambda together with CloudFront. If you've successfully tracked down issues with Lambda@Edge and have a few tips or suggestions about best practices, consider replying to this issue and sharing your ideas. I'd like to include more specific troubleshooting guidance for Lambda@Edge in our docs, and your help would be much appreciated!

What are the coresponding ISO3166-2 codes in CloudFront-Viewer-Country header for below special unkown cases?

What are the coresponding ISO3166-2 codes in CloudFront-Viewer-Country header for below special unkown cases?

Anonymous Proxy – The request originated from an anonymous proxy.
Satellite Provider – The request originated from a satellite provider that provides internet service to multiple countries. Users might be in countries with a high risk of fraud.
Europe (Unknown) – The request originated from an IP in a block that is used by multiple European countries. The country that the request originated from cannot be determined. CloudFront uses Europe (Unknown) as the default.
Asia/Pacific (Unknown) – The request originated from an IP in a block that is used by multiple countries in the Asia/Pacific region. The country that the request originated from cannot be determined. CloudFront uses Asia/Pacific (Unknown) as the default. If you display the Locations report by U.S. state, note that the report can include U.S. territories and U.S. Armed Forces regions.
If CloudFront can't determine a user's location, the location will appear as Unknown in viewer reports.

Creating signed url or cookies doesn't work

Hi @joshbean

The code provided doesn't work for PHP.

I have reviewed more than 10 times my s3 and CloudFront settings and spent almost 2days figuring out but no luck

Can you please review the code and update it?

Best Regards,
Syed

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.