docker - 将此图像 uvicorn-gunicorn-starlette-docker 用于生产是否安全?
问题描述
我必须为生产环境设置服务器,并且我使用的是FastAPI 框架。
框架的文档建议使用这个 docker 镜像,因为它已经准备好并且可以定制。所以我要做的是使用 Uvicorn 工作人员使用 Gunicorn 公开我的应用程序。
安全吗?
因为我正在阅读一些文章,他们建议将 NGINX 作为反向代理放在 Gunicorn 前面。在这种情况下,请求被 NGINX 接收,然后它决定将它路由到哪里。我无法理解这些差异。谢谢!
解决方案
docker 镜像很好用,但你也应该按照gunicorn docs把 nginx 放在它前面。您可以将其作为单独的 docker-compose 服务或以任何其他方式执行此操作,并配置 nginx 以将所有请求传递到 gunicorn 服务器。
这样做的主要原因是为了保护自己免受拒绝服务攻击,因为 gunicorn 在这里提供的保护很少。如果我没记错的话,它曾经/很容易受到缓慢的懒猴攻击,可能还有其他攻击。
推荐阅读
- reactjs - React Router NavLink 映射时不呈现 activeClassName
- c# - 如何在不使用 ItemSource 的情况下以编程方式从 WPF 中的 DataTable 填充 dataGrid
- android - X 轴标签未显示在 LineChart (MpAndroidChart) 中
- swift - Mapbox + Swift:更改图层图像
- java - java日历中的未来日期给出了一个奇怪的行为
- javascript - 意外的 Chrome 自动填充行为 [禁用 chrome 自动填充]
- ios - 在表格上显示排序结果 - Swift4
- xml - XSLT 1.0 两个不同节点之间的所有节点
- jquery - 无法通过 AJAX 调用 WebAPI 方法,如果在 AJAX 调用中使用了调试器,则可以使用
- javascript - HTML5 Canvas - 当它超出我的矩形时隐藏文本部分