Copyright | (c) 2013-2021 Brendan Hay |
---|---|
License | Mozilla Public License, v. 2.0. |
Maintainer | Brendan Hay <brendan.g.hay+amazonka@gmail.com> |
Stability | auto-generated |
Portability | non-portable (GHC extensions) |
Safe Haskell | None |
Synopsis
- data CustomErrorResponse = CustomErrorResponse' {}
- newCustomErrorResponse :: Int -> CustomErrorResponse
- customErrorResponse_responsePagePath :: Lens' CustomErrorResponse (Maybe Text)
- customErrorResponse_responseCode :: Lens' CustomErrorResponse (Maybe Text)
- customErrorResponse_errorCachingMinTTL :: Lens' CustomErrorResponse (Maybe Integer)
- customErrorResponse_errorCode :: Lens' CustomErrorResponse Int
Documentation
data CustomErrorResponse Source #
A complex type that controls:
- Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.
- How long CloudFront caches HTTP status codes in the 4xx and 5xx range.
For more information about custom error pages, see Customizing Error Responses in the Amazon CloudFront Developer Guide.
See: newCustomErrorResponse
smart constructor.
CustomErrorResponse' | |
|
Instances
newCustomErrorResponse Source #
Create a value of CustomErrorResponse
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:responsePagePath:CustomErrorResponse'
, customErrorResponse_responsePagePath
- The path to the custom error page that you want CloudFront to return to
a viewer when your origin returns the HTTP status code specified by
ErrorCode
, for example, /4xx-errors/403-forbidden.html
. If you
want to store your objects and your custom error pages in different
locations, your distribution must include a cache behavior for which the
following is true:
- The value of
PathPattern
matches the path to your custom error messages. For example, suppose you saved custom error pages for 4xx errors in an Amazon S3 bucket in a directory named/4xx-errors
. Your distribution must include a cache behavior for which the path pattern routes requests for your custom error pages to that location, for example,/4xx-errors/*
. - The value of
TargetOriginId
specifies the value of theID
element for the origin that contains your custom error pages.
If you specify a value for ResponsePagePath
, you must also specify a
value for ResponseCode
.
We recommend that you store custom error pages in an Amazon S3 bucket. If you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.
$sel:responseCode:CustomErrorResponse'
, customErrorResponse_responseCode
- The HTTP status code that you want CloudFront to return to the viewer
along with the custom error page. There are a variety of reasons that
you might want CloudFront to return a status code different from the
status code that your origin returned to CloudFront, for example:
- Some Internet devices (some firewalls and corporate proxies, for
example) intercept HTTP 4xx and 5xx and prevent the response from
being returned to the viewer. If you substitute
200
, the response typically won't be intercepted. - If you don't care about distinguishing among different client
errors or server errors, you can specify
400
or500
as theResponseCode
for all 4xx or 5xx errors. - You might want to return a
200
status code (OK) and static website so your customers don't know that your website is down.
If you specify a value for ResponseCode
, you must also specify a value
for ResponsePagePath
.
$sel:errorCachingMinTTL:CustomErrorResponse'
, customErrorResponse_errorCachingMinTTL
- The minimum amount of time, in seconds, that you want CloudFront to
cache the HTTP status code specified in ErrorCode
. When this time
period has elapsed, CloudFront queries your origin to see whether the
problem that caused the error has been resolved and the requested object
is now available.
For more information, see Customizing Error Responses in the Amazon CloudFront Developer Guide.
$sel:errorCode:CustomErrorResponse'
, customErrorResponse_errorCode
- The HTTP status code for which you want to specify a custom error page
and/or a caching duration.
customErrorResponse_responsePagePath :: Lens' CustomErrorResponse (Maybe Text) Source #
The path to the custom error page that you want CloudFront to return to
a viewer when your origin returns the HTTP status code specified by
ErrorCode
, for example, /4xx-errors/403-forbidden.html
. If you
want to store your objects and your custom error pages in different
locations, your distribution must include a cache behavior for which the
following is true:
- The value of
PathPattern
matches the path to your custom error messages. For example, suppose you saved custom error pages for 4xx errors in an Amazon S3 bucket in a directory named/4xx-errors
. Your distribution must include a cache behavior for which the path pattern routes requests for your custom error pages to that location, for example,/4xx-errors/*
. - The value of
TargetOriginId
specifies the value of theID
element for the origin that contains your custom error pages.
If you specify a value for ResponsePagePath
, you must also specify a
value for ResponseCode
.
We recommend that you store custom error pages in an Amazon S3 bucket. If you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.
customErrorResponse_responseCode :: Lens' CustomErrorResponse (Maybe Text) Source #
The HTTP status code that you want CloudFront to return to the viewer along with the custom error page. There are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:
- Some Internet devices (some firewalls and corporate proxies, for
example) intercept HTTP 4xx and 5xx and prevent the response from
being returned to the viewer. If you substitute
200
, the response typically won't be intercepted. - If you don't care about distinguishing among different client
errors or server errors, you can specify
400
or500
as theResponseCode
for all 4xx or 5xx errors. - You might want to return a
200
status code (OK) and static website so your customers don't know that your website is down.
If you specify a value for ResponseCode
, you must also specify a value
for ResponsePagePath
.
customErrorResponse_errorCachingMinTTL :: Lens' CustomErrorResponse (Maybe Integer) Source #
The minimum amount of time, in seconds, that you want CloudFront to
cache the HTTP status code specified in ErrorCode
. When this time
period has elapsed, CloudFront queries your origin to see whether the
problem that caused the error has been resolved and the requested object
is now available.
For more information, see Customizing Error Responses in the Amazon CloudFront Developer Guide.
customErrorResponse_errorCode :: Lens' CustomErrorResponse Int Source #
The HTTP status code for which you want to specify a custom error page and/or a caching duration.