好吧,也许我没有向大家提供足够的信息。希望你能帮助我,给我一些线索或提示,或者指导我如何前进。
我有一个使用来自 Web 服务的数据的应用程序。该应用程序托管在 AWS 中。Web 服务托管在具有 IIS 10 的虚拟 Windows Server 2016 中。
在 CORS 中添加以下内容后,应用程序在从 Web 服务器调用这些端点时返回 500 状态代码:
X-Frame-Options, SAMEORIGIN
Strict-Transport-Security, max-age=31536000; includeSubDomains
X-Content-Type-Options, nosniff
X-XSS-Protection, 1; mode=block
Cache-Control, no-store, no-cache, must-revalidate
Content-Security-Policy, default-src 'self' 'unsafe-eval' 'unsafe-inline' *.domain.com; script-src 'self' 'unsafe-inline' 'unsafe-eval'; img-src 'self' *.domain.com data:; connect-src 'self' *.domain.com; font-src 'self' *.domain.com data:;
Access-Control-Allow-Origin, *
Access-control-allow-methods, GET, POST, PUT, DELETE
Access-control-allow-headers, Content-Type, Authorization
Access-control-allow-credentials, true
我需要在云端做一些额外的事情吗?API 网关?Lambdas?Node.js 中的后端代码?IIS 上的额外配置?
如有任何帮助,我们将非常感激。
非常感谢
答案1
我找到了解决方案,但我无法向您解释其全部原因或为什么有效。
正如简历中所述,我们使用 Windows Server 2016 和 IIS 10。我们有 2 个同步的 Web 服务器。
好吧,解决方案是在一台服务器(现在想想,可能是主服务器)上配置 CORS,并将其他服务器清空。
突然,Web 服务开始工作了。它通过 Postman 进行了测试,并且直接从使用该 Web 服务的数据的应用程序进行了测试,一切正常。