【发布时间】:2011-02-11 21:20:40
【问题描述】:
我需要一个可扩展且高性能的 HTTP 应用程序/服务器,用于静态文件服务/上传。所以我只需要支持GET 和PUT 操作。
但是,我需要一些额外的功能:
- 自定义身份验证:我需要 针对每个请求检查数据库的凭据。 因此,我必须能够整合专有 数据库交互。
- 支持
签名访问密钥:访问
应通过
PUT签署资源 使用http://uri/?key=foo 之类的密钥然后该密钥包含有关请求的信息,例如 md5(user + path + secret),它允许我阻止不需要的请求。应用程序/服务器应该允许我对此进行检查。 - 性能:我想尽可能避免管道内容。否则整个应用程序可以在 Perl/etc 中实现。几行 CGI。
Perlbal(在网络服务器模式下)看起来不错,但是单线程模型不适合我的数据库查找,也不支持查询字符串。
Lighttp/Nginx/... 有一些模块用于这些任务,但是如果不编写自己的扩展/模块就将所有东西放在一起是不可行的。
那么你将如何解决这个问题?是否有其他可用的轻量级网络服务器? 我应该在网络服务器(即 CGI)中实现应用程序吗?如何避免/加速网络服务器和我的应用程序之间的管道内容。
提前致谢!
【问题讨论】:
标签: webserver nginx lighttpd apache static-content