【发布时间】:2019-12-02 16:16:48
【问题描述】:
在容器化到 docker 容器的 asp.net core api 中启用 CORS 的最佳实践是什么?使用了 Docker compose。
对于 asp.net 核心 API cors 在 Startup.cs 中启用。在调试模式下,CORS 没有问题。但是当我将此应用程序放入 Docker 容器时,CORS 标头丢失了。
我读过关于 Nginx 的文章,但这对我来说不是最好的方法。
我在前端有 Angular 6。在后端我有 ASP.NET Core API。 基本上,当我在调试模式下运行 asp.net 核心应用程序时,可以从本地前端调用它。当我在 Docker 容器中添加并运行我的后端时,我无法从前端调用它。
我有错误: - 请求的资源上不存在“Access-Control-Allow-Origin”标头。
【问题讨论】:
-
没有所谓的“最佳实践”。只有“对你来说足够好的东西”。您能否更好地描述您面临的问题以及到目前为止您为解决该问题所做的工作?
-
你基本上有2个选择;将 CORS 卸载到您的基础架构中的某些东西(反向代理、API 管理解决方案等)或在您的 .NET Core 应用程序中自行处理:docs.microsoft.com/en-us/aspnet/core/security/…。在不知道自己想要做什么的情况下,很难判断哪个最适合您。
标签: c# docker docker-compose dockerfile