Djangodocumentation有关其开发服务器的状态:
Don’t use this server in anything resembling a production environment. It’s intended only for use while developing. (We’re in the business of making Web frameworks, not Web servers.)
Sanic's部署文档并没有说我们不能在生产中使用它的内置服务器。它声明:
Deploying Sanic is very simple using one of three options: the inbuilt webserver, an ASGI webserver, or gunicorn. It is also very common to place Sanic behind a reverse proxy, like nginx.
对我来说,这意味着从阿帕奇那里获得自由。这也意味着Nginx、Gunicorn、Daphne、Uvicorn、Hypercorn等是可选的。在
但是,我在Sanic: python web server that's written to die fast中发现了一些关于其内置服务器的负面评论。另一方面,他们的github存储库似乎非常活跃。他们是否解决了Reddit帖子中提到的问题?在
我错过什么了吗?在
问题1处理的是请求大小和超时设置,这些设置允许使用过多的数据淹没服务器来进行DoS攻击。管理员可以根据服务器硬件和正在运行的站点的要求调整这些设置。这就是说,默认值可能应该低于实际值,从而使对未配置服务器的攻击更加困难。在
问题2声称流式响应中没有背压处理。目前的版本确实有流量控制,因此得到适当的背压控制,避免了这样的问题。由于这在Python的asyncio协议设计中被严重忽视,过去很多应用程序都存在这样的问题,可能在撰写博客时也包括Sanic。在
现在,Sanic服务器当然可以直接在Internet上运行,这实际上比在nginx或Apache后面运行Django要安全得多,因为任何长时间的POST请求都会阻塞整个Django工作线程。在
相关问题 更多 >
编程相关推荐