Reactjs 反应JS cors“;';访问控制允许原点';标题包含多个值;
场景 我正在使用Reactjs 反应JS cors“;';访问控制允许原点';标题包含多个值;,reactjs,.htaccess,cors,Reactjs,.htaccess,Cors,场景 我正在使用fetch从远程apache服务器收集json。一开始,我收到了以下违反CORS的情况: 取 '' 来自源“”已被CORS策略阻止: 对飞行前请求的响应未通过访问控制检查:否 “Access Control Allow Origin”标头出现在请求的服务器上 资源。如果不透明的响应满足您的需要,请设置请求的 模式设置为“无cors”,以获取禁用cors的资源 我克服了这个问题,为此项目在服务器的.htaccess文件中启用了CORS Header always set Acces
fetch
从远程apache服务器收集json。一开始,我收到了以下违反CORS的情况:
取
''
来自源“”已被CORS策略阻止:
对飞行前请求的响应未通过访问控制检查:否
“Access Control Allow Origin”标头出现在请求的服务器上
资源。如果不透明的响应满足您的需要,请设置请求的
模式设置为“无cors”,以获取禁用cors的资源
我克服了这个问题,为此项目在服务器的.htaccess
文件中启用了CORS
Header always set Access-Control-Allow-Origin "*"
Header always set Access-Control-Allow-Credentials "true"
Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"
Header always set Access-Control-Max-Age "1000"
Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token"
现在我得到了一个不同的CORS违反
取
''
来自源“”已被CORS策略阻止:
对飞行前请求的响应未通过访问控制检查:
“访问控制允许来源”标题包含多个值“*,
,但只允许有一个。让服务器发送
具有有效值的标头,或者,如果不透明响应服务于
如果需要,请将请求的模式设置为“no cors”以获取资源
CORS残疾
问题
如何找到为localhost:3000
设置的Access Control Allow Origin
的位置?我已经做了一个完整的索引,并搜索了与cor、header等相关的字符串,但运气不好。所有想法都受到赞赏
额外的
- 通过
第二个ACAO值是npm start
,但通过localhost:3000
第二个ACAO值是npm build
,因此第二个值看起来是动态的,并且限制了反应localhost
- 向
package.json添加
值似乎根本没有帮助proxy
.htaccess
文件的处理不如我想象的那么好。不管怎样,以下是最终有效的方法:
API服务器的.htaccess
# allows image files to bypass cors @jkr
<Files *.jpg>
Header always set Access-Control-Allow-Origin "*"
Header always set Access-Control-Allow-Credentials "true"
Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"
Header always set Access-Control-Max-Age "1000"
Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token"
</Files>
#always allow preflight to pass @jkr
<LimitExcept OPTIONS>
RewriteEngine On
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ $1 [R=200,L]
</LimitExcept>
#允许图像文件绕过cors@jkr
标题始终设置访问控制允许原点“*”
标头始终将访问控制允许凭据设置为“true”
Header始终设置访问控制允许方法“POST、GET、OPTIONS、DELETE、PUT”
标头始终设置访问控制最大期限“1000”
Header始终设置访问控制允许Header“x-requested-with、内容类型、来源、授权、接受、客户端安全令牌”
#始终允许飞行前通过@jkr
重新启动发动机
重写cond%{REQUEST_METHOD}选项
重写规则^(.*)$$1[R=200,L]
我建议您查看CORS错误列表,并尝试查看导致问题的原因。如果您可以访问网站的Apache配置文件,请检查CORS配置是否已经存在,可能是您的。htaccess
配置导致返回此错误,与此相同