如何使用WSO2 API Manager 2.6.0分析和修复由CORS和Chrome导致的随机故障

如何使用WSO2 API Manager 2.6.0分析和修复由CORS和Chrome导致的随机故障,cors,wso2,wso2-am,Cors,Wso2,Wso2 Am,在API Publisher中创建URL模式时,我创建了GET方法/something/v2%2E0——正如您所看到的,我使用了编码%2E而不是dot2.0 在测试时,我注意到该方法在我使用FF时有效,但在Chrome上不起作用,并显示以下错误消息: CORS策略已阻止从源站获取“”的访问:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许源站”标头。如果不透明响应满足您的需要,请将请求的模式设置为“no cors”,以获取禁用cors的资源 我检查了两种浏览器中的标题,发现

在API Publisher中创建URL模式时,我创建了GET方法/something/v2%2E0——正如您所看到的,我使用了编码%2E而不是dot2.0

在测试时,我注意到该方法在我使用FF时有效,但在Chrome上不起作用,并显示以下错误消息:
CORS策略已阻止从源站获取“”的访问:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许源站”标头。如果不透明响应满足您的需要,请将请求的模式设置为“no cors”,以获取禁用cors的资源

我检查了两种浏览器中的标题,发现了以下区别:在响应标题中,FF有“Accept:*/*”,而Chrome没有

更改CORS配置没有帮助。当前我的CORS配置如下所示:
启用基于API的CORS配置:
访问控制允许来源:是-所有允许来源
访问控制允许标题:授权、访问控制允许来源、内容类型、SOAPAction、授权
访问控制允许方法:获取,选项

我安装并启用了Chrome插件,该插件启用了Allow Control Allow Origin:*但仍然不起作用。

有趣的是,只有当我添加了额外的GET方法/something/v2.0时,该方法才开始工作。当API publisher中存在此新方法时,/something/v2%2E0开始工作,我在Chrome头中得到“Accept://*”。如果我删除/something/v2.0/something/v2%2E0,则不会获取数据

任何提示和提示都非常感谢:)

根据注释中的请求添加选项标题(请求和响应)。


你能记录下浏览器发送的选项调用并将其发布到这里吗?请求和响应标题。按请求添加。似乎对编码资源不起作用。仅使用
/something/v2.0
也不起作用。不幸的是,我不能仅使用/v2.0,因为API-M Publisher中存在错误。如果我创建了h像v2.0一样,Publisher不允许我向此方法添加参数。我相信这只是WSO2 Publisher中的一个错误。因此,我必须使用%2只有当您需要在应用商店的API控制台和公开的招摇过市中显示参数时才需要参数。未定义参数不会影响最终用户。因此,也许您可以采用这种方法ch.你能记录下浏览器发送的选项调用并发布到这里吗?请求和响应标题。按请求添加。似乎对编码资源不起作用。仅使用
/something/v2.0
也不起作用。不幸的是,我不能仅使用/v2.0,因为API-M Publisher中存在错误。如果我使用与2.0版类似,Publisher不允许我向此方法添加参数。我相信这只是WSO2 Publisher中的一个错误。因此,我必须使用%2只有当您需要在应用商店的API控制台和公开的招摇过市中显示参数时才需要参数。未定义参数不会影响最终用户。因此,也许您可以采用这种方法。