我有一个部署到Amazon S3并由Cloudfront分发的react应用程序,它现在可以按预期的方式完全正常工作。 但是,当我打开浏览器控制台时,它显示404错误。
例如,假设我的网站地址为https://shinhong.com
。
https://shinhong.com
,然后按Enter:工作没有错误 https://shinhong.com/path/to/something
:正常运行 https://shinhong.com/path/to/something
):工作,但显示404错误,例如 GET https://shinhong.com/path/to/something 404 (Not Found)
https://shinhong.com/path/to/something
,然后按Enter: Works,但显示与上述相同的错误 错误为404的网络请求具有以下响应标头:
x-amz-cf-pop: ICN51-C1
x-amz-error-code: NoSuchKey
x-amz-error-detail-key: admin/logs
x-amz-error-message: The specified key does not exist.
x-cache: Error from cloudfront
但有回应:
<!doctype html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8"/>
<link rel="shortcut icon" href="/favicon.ico"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="theme-color" content="#2c7be5"/>
<link rel="manifest" href="/manifest.json"/>
...
是普通的public/index.html
文件。
我检查了此链接CloudFront + S3 Website: "The specified key does not exist" when an implicit index document should be displayed,但没有运气。
此外,当我通过Cloudfront域https://dq9*****u4da.cloudfront.net
或S3存储桶域mys3bucket.s3-website.ap-northeast-2.amazonaws.com
访问时,一切都相同。我的开发服务器btw中没有错误。
您能为这个奇怪的问题提出任何可能的原因吗?
谢谢。
答案 0 :(得分:1)
我具有相同的配置:Amazon S3 + Cloudfront React应用 我想我在Cloudfront中解决了
我将HTTP Responde Code
从400更改为200
现在,如果我去https://example.com/signup,我将没有400了