swagger - 如何删除 swagger production .net core 2.1
问题描述
我在多个微服务上大摇大摆地工作。部署到 Azure 时,由于安全最佳实践,我们需要一起删除 swagger 选项。使用 .net core 2.1 寻找定义示例。
解决方案
首先,什么“安全最佳实践”?将 API 文档用于生产并没有错。这实际上是重点:客户应该能够查看文档,以便他们可以正确使用您的 API。如果这些微服务不被外部客户端使用,那么问题就更小了,因为无论如何,外面的人都无法获得服务或文档。如果服务是公开的,那么它们也应该要求授权请求,并且可以通过相同的机制锁定文档本身。
无论如何,如果您坚持在生产中删除它,那么最好的选择是一开始就不要添加它。换句话说,将所有 Swagger 设置包装在Startup.cs
其中,if (env.IsDevelopment())
或者如果您希望它在诸如登台环境之类的东西中可用:if (!env.IsProduction())
.
推荐阅读
- django - 如何使用 Django 表单将我的 Django 应用程序转换为正确使用表单验证?
- javascript - 为什么我得到这个错误:非法构造函数?
- python - 如何管理多层字典、自定义列、减去列数据和添加新列?
- html - 如何通过单击按钮来执行控制器的方法?
- java - 如何在 volley 中传递 header api 密钥
- android - 是否可以自定义 CalendarView 小部件以显示事件并自定义颜色(渐变色)?
- javascript - Dojo工具包TabContainer的换位方法
- c++ - 如何在 Win32 应用程序中拖动纯色矩形而不会出现白色闪烁且不会干扰屏幕上的其他对象?
- typescript - 如何获取 expo-sqlite 的类型?
- java - 关于java中的继承