【发布时间】:2026-01-19 19:00:01
【问题描述】:
当我通过键入 only mywebsite.com 打开我的网站时,在浏览器中,ajax 请求成功地访问了我的 rest 网络服务。但是当我输入 www.mywebsite.com 时,我会收到错误,因为 -XMLHttpRequest 无法加载 http://mywebsite.com/path 对预检请求的响应未通过访问控制检查:没有 'Access-Control-请求的资源上存在 Allow-Origin' 标头。因此不允许访问 Origin 'http://www.mywebsite.com'。
Jquery ajax 请求是-
返回 $.ajax({ 网址:“http://mywebsite.com/path/”, 类型:“POST”,
网站部署在AWS服务器上,以下是CORS配置
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>DELETE</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<ExposeHeader>x-amz-server-side-encryption</ExposeHeader>
<ExposeHeader>x-amz-request-id</ExposeHeader>
<ExposeHeader>x-amz-id-2</ExposeHeader>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
我无法找到解决方案,因为添加 www 会产生问题。
【问题讨论】:
-
“网站部署在AWS服务器上,”你说。根据您的 CORS 配置,当您说“AWS 服务器”时,您实际上是在谈论 Amazon S3。但如果这是真的,那么这两个主机名 - 有和没有 www - 就不能轻易地从同一个 S3 存储桶中提供,所以很难猜测你的实际设置(我们需要它,以便查明问题。除非您可以更详细地解释 两个 主机名是如何工作的,否则最好的办法可能是向我们提供您网站的域名,以便我们了解它是如何构建的。
-
@Michael-sqlbot 是的,我说的是 amazon-s3。网站名称是 brokentrade.com。如果你做 www.breaktrade.com 并从下拉列表中选择,你会收到错误。让我知道如果您需要任何其他亚马逊配置。
标签: amazon-web-services amazon-s3 cors no-www preflight