cors - Chrome 在它的“Access-Control-Allow-Origin”错误消息中给了我错误的 URL
问题描述
我在从开发人员的机器上托管的 web 应用程序上,位于xyz.devteam.mycompany.com:8443
. 此 Web 应用程序连接到位于 的另一个系统my-service-test.mycompany.com
。然后我使用托管在其他地方的同一个网络应用程序(比如my-webapp-test.mycompany.com
),我收到一条错误消息,上面写着:
"Failed to load my-service-test.mycompany.com/token:
Response to preflight request doesn't pass access control check:
No 'Access-Control-Allow-Origin' header is present on the requested resource.
Origin 'xyz.devteam.mycompany.com:8443' is therefore not allowed access."
为什么错误消息中的前一个 URL?
解决方案
使用“Vary: Origin”标头来防止这种意外的缓存中毒。
Chrome 已缓存来自xyz.devteam.mycompany.com:8443
to的响应,并且由于“Access-Control-Allow-Origin”标头,不允许service-test.mycompany.com
尝试对来自此的请求使用相同的响应。my-webapp-test.mycompany.com
推荐阅读
- javascript - 如何使用 jquery 将 angularjs 升级到 angular 9?
- react-native - 反应原生。节列表。如何限制项目并通过按钮单击全部显示?
- firebase - Xamarin.Forms 上的 Firebase 身份验证
- clickhouse - 在 Clickhouse 中控制字符串转义?
- python - BigQuery 架构更新而不丢失流缓冲区?
- process - Electron 是否有杀死无用渲染器进程的标准方法?
- .net-core - Razor Pages .Net Core:从 OnPost 打开一个新选项卡/窗口
- c# - 掌握 Excel 电子表格保存其他 Microsoft Docs
- python - 带有更高 Python 版本的更高版本 Mac OS 上的 Mac OS 10.4 应用程序
- mongodb - MongoDB聚合速度慢,索引匹配?