标签: lighttpd

卷曲 POST - 需要 411 长度

我们有一个用 PHP 构建的 RestFUL API。如果我们提出请求:

curl -u api-key:api-passphrase https://api.domain.com/v1/product -X POST
Run Code Online (Sandbox Code Playgroud)

我们回来:

411 - Length Required
Run Code Online (Sandbox Code Playgroud)

虽然如果我们简单地添加-d ""到请求中,它可以工作并且没有 411 错误。有没有办法不需要在 curl 命令中添加 -d ?

我们正在使用 lighttpd 网络服务器,并且相信它的 lighttpd 不是 php 返回 411 错误。

php lighttpd curl

42
推荐指数
1
解决办法
6万
查看次数

为什么 NginX 和 Lighttpd 不受 Slowloris 的影响?

我正在调查Slowloris的漏洞,我想我了解这种攻击的工作原理和原因。

我不明白的是为什么 Lighttpd 和 NginX 不受影响(根据上面链接的同一篇文章)。它们有什么不同?

web-server denial-of-service malware lighttpd apache-2.2

27
推荐指数
3
解决办法
1万
查看次数

Amazon AWS EC2 微实例上的 Python CGI —— 操作方法!

如何让 EC2 微实例从 lighthttpd 提供 CGI 脚本?例如Python CGI?

嗯,这花了半天时间,但我已经使用 lighttpd 服务器在免费的 Amazon AWS EC2 微实例上运行了 Python cgi。我认为将所有步骤放在一个地方会帮助我的新手。通过以下简单步骤,您只需 15 分钟即可完成设置!

对于阅读本文的更有经验的用户,我的问题是:我所做的是否存在任何安全漏洞?(请参阅文件和目录权限。)

第 1 步:启动您的 EC2 实例并通过 ssh 进入它。

[显然,您需要注册 Amazon EC2 并将您的密钥对保存到 *.pem 文件中。我不会讨论这个,因为亚马逊会告诉你如何去做。]

  1. 登录您的 AWS 账户并启动您的 EC2 实例。网络上有关于这样做的教程。请注意,Amazon 提供给您的默认实例大小为“小”。这不是“微型”,因此它会花费您金钱。一定要手动选择“微”。(微型实例仅在第一年免费......)

  2. 查找正在运行的实例的公共 DNS 代码。为此,单击仪表板顶部窗格中的实例,您最终会看到底部窗格中填充的“公共 DNS”字段。(您可能需要稍微调整一下。)公共 DNS 看起来像:
    ec2-174-129-110-23.compute-1.amazonaws.com

  3. 启动您的 Unix 控制台程序。(在 Max OS X 上,它被称为终端,位于 Applications -> Utilities 文件夹中。)

  4. cd 到桌面系统上的目录,该目录包含包含 AWS 密钥对的 *.pem 文件。

  5. 使用如下命令通过 ssh 连接到您的 EC2 实例:
    ssh -i <<your *.pem filename>> ec2-user@<< Public DNS address >>

    所以,对我来说,这是:
    ssh …

python lighttpd cgi amazon-ec2

23
推荐指数
1
解决办法
7518
查看次数

为什么 Nginx 比 lighttpd 更受欢迎?

我想在生产中使用 Lighttpd 来为 Django 应用程序提供服务,但我发现最近 Nginx 越来越流行。这是为什么?我知道过去 Lighttpd 有内存泄漏,但现在不是修复了吗?他们确实有活跃的开发人员来解决这类问题,不是吗?
我有什么理由应该使用 Nginx 而不是 Lighty 吗?我知道 nginx 是一个很棒的服务器,但它真的那么好并且比 lighty 更好吗?

nginx lighttpd django

21
推荐指数
4
解决办法
5万
查看次数

使用 nginx 的单个端口处理 http 和 https 请求

我想知道 nginx 是否能够在同一个端口上处理 http 和 https 请求。[*]

这就是我想要做的。我正在运行处理 http 请求的 Web 服务器 (lighttpd),以及通过 https 为文档树的特定部分提供服务的 C 程序。这两个进程运行在同一台服务器上。

在防火墙级别,我只能有一个端口将流量转发到此服务器。所以我想做的是在这台服务器上设置 nginx 以便它侦听单个端口上的请求,然后:

A) 重定向所有http://myhost.com/*请求,以便它们转到 localhost:8080(lighttpd 正在侦听的位置)

B) 如果用户请求以 https://myhost.com/app 开头的 URL,它会将该请求发送到 localhost:8008(C 程序)。请注意,在这种情况下,远程浏览器和 nginx 之间的流量必须加密。

你认为这可能吗?如果是,怎么做?

我知道如何使用两个不同的端口来做到这一点。我面临的挑战是仅使用一个端口来完成此操作(不幸的是,我无法控制此特定环境中的防火墙配置,因此这是我无法避免的限制)。使用诸如通过 ssh 进行反向端口转发来绕过防火墙的技术也不起作用,因为这应该适用于只有 Web 浏览器和 Internet 链接的远程用户。

如果这超出了 nginx 的能力,您知道还有其他产品可以满足此要求吗?(到目前为止,我在使用 lighttpd 和 pound 进行设置时没有成功)。我也更喜欢避免使用 Apache(尽管如果这是唯一可能的选择,我愿意使用它)。

提前致谢,亚历克斯

[*] 为了清楚起见,我说的是通过同一端口处理加密未加密的 HTTP 连接。加密是通过 SSL 还是 TLS 完成都没有关系。

http nginx https lighttpd

19
推荐指数
4
解决办法
3万
查看次数

哪个最适合 Django?Lighttpd 还是 Nginx?或者也许是别的什么?

根据您的经验,Lighttpd 和 Nginx 哪个更适合 Django?我都用过,几乎看不出有什么区别,它们工作得很好......是否有任何用例,其中一个比另一个表现得更好?回答时请同时考虑配置的简单性和效率。

我通常的设置是./manage.py runfcgi daemonize=false port=8098 host=127.0.0.1通过 daemontools 或init.d脚本和 lighty/nginx 作为反向代理启动一个单独的 Django FCGI 进程(如 中)。

哦,如果您觉得其他一些 http 服务器比 Lighty 和 Nginx 更适合 Django,请不要犹豫,分享您的想法。

nginx lighttpd django

18
推荐指数
3
解决办法
2万
查看次数

Apache MPM - Worker 与 Prefork

我试图找出我可以在我的 VPS 上安装的最好的 Apache MPM。我看到了一些基准测试,MPM Worker 似乎比 Prefork 性能更好,但出于某种原因,每个人似乎都推荐 Prefork 而不是 Worker 用于 PHP 设置。

这仅仅是因为某些 PHP 函数不是线程安全的吗?只是setlocale()想到,但我将在每个实例上使用相同的语言环境,所以我认为这不会成为问题。我的 VPS 内存不足,我觉得工作 MPM 更适合我的需求,但是我不确定。

有人可以帮我下定决心吗?谢谢!


PS:我还研究了 nginx 和 lighttpd。nginx 看起来很棒,但我试图避免从源代码编译,我仍然不太明白 php-fpm 的用途。关于 lighttpd - 用它设置 PHP/FCGI 非常容易,但我听说它有内存泄漏。这仍然是真的吗?

php nginx lighttpd php-fpm apache-2.2

14
推荐指数
1
解决办法
3万
查看次数

如何在lighttpd中正确启用错误日志?

我有一个启用了 Lighttpd 和 fastcgi 的 Centos 5 系统。它记录访问但不记录错误。我有内部服务器错误 500 并且日志中没有信息,当我尝试打开不存在的文件时 - 错误日志中也没有信息。如何正确启用它?

下面是我启用的模块列表:

server.modules              = (
                               "mod_rewrite",
                               "mod_redirect",
                               "mod_alias",
#                                "mod_access",
#                               "mod_cml",
#                               "mod_trigger_b4_dl",
#                               "mod_auth",
                               "mod_status",
                               "mod_setenv",
                               "mod_fastcgi",
#                               "mod_webdav",
#                               "mod_proxy_core",
#                               "mod_proxy_backend_fastcgi",
#                               "mod_proxy_backend_scgi",
#                               "mod_proxy_backend_ajp13",
#                               "mod_simple_vhost",
#                               "mod_evhost",
#                               "mod_userdir",
#                               "mod_cgi",
#                               "mod_compress",
#                               "mod_ssi",
#                               "mod_usertrack",
#                               "mod_expire",
#                               "mod_secdownload",
#                               "mod_rrdtool",
                                "mod_accesslog" )
Run Code Online (Sandbox Code Playgroud)

下面是调试的设置:

## enable debugging
#debug.log-request-header     = "enable"
#debug.log-response-header    = "enable"
#debug.log-request-handling   = "enable"
debug.log-file-not-found     = "enable"
#debug.log-condition-handling = …
Run Code Online (Sandbox Code Playgroud)

log-files fastcgi lighttpd mod-fastcgi

12
推荐指数
2
解决办法
5万
查看次数

提供静态内容的最快 Web 服务器

我正在优化我们的系统以实现更快的静态内容交付,并且想知道是否有人对最快的 Web 服务器有任何适当的经验来实现这一目的。

从我考虑过的三个主要候选者 Nginx、Cherokee 和 Lighttpd 来看,每个似乎都有自己的问题——但我在网上阅读的报告有些偏颇,倾向于用户当前使用的服务器。

关于在哪里可以看到针对此特定目的的适当基准的任何想法,或者至少是无偏见的利弊列表?我应该有所不同的任何个人经历和陷阱?

谢谢

编辑:Serverfault.com 给出了 nginx 的答案。我仍然想听听来自宇宙这一端的一些开发人员的想法。

nginx lighttpd cherokee

12
推荐指数
1
解决办法
2万
查看次数

如何通过单个端口处理加密和未加密的 http 连接

请看下图。

替代文字

这应该如何工作?

  • 当远程请求 http://myhost.com:8080/* 时,请求应该转发到监听环回接口 8008 端口的 http 服务器。这是简单的部分。

  • 当远程用户请求 http://myhost.com:8080/specialurl ...

    • 充当应用程序级网关的程序应该能够将连接升级为加密会话(无需更改端口

    • 与远程浏览器建立加密会话后,应将请求转发给监听环回接口8000端口的C程序

我的问题是

  1. 您是否曾经在生产环境中部署过这样的解决方案?如果你有...
  2. 您使用什么产品作为应用程序网关?
  3. 你能提供一个配置示例吗?

硬限制

  • 无法控制防火墙,唯一可以让外部流量进入内部服务器的端口是 8080。端口号无关紧要,问题是在防火墙级别只有一个端口打开以转发传入到内部服务器的流量。
  • 内部服务器必须运行 Linux(目前它运行的是 Debian Lenny)
  • 远程用户只需要当前的 Web 浏览器和 Internet 连接即可访问此服务器。这意味着通过 SSH 进行反向端口转发在这里不是一个选项。
  • 我需要一个已经在生产中经过测试并且可以轻松部署的产品。我不打算开发自己的应用程序网关(如果是这样,我想我会在 Stack Overflow 上问这个问题,而不是在 Server Fault 上问这个问题)。

软限制

  • 我想避免将 Apache 作为应用程序网关(尽管如果这是唯一可能的选择,我愿意这样做)
  • 如果可能,应用网关应该是成熟的开源软件产品。

迄今为止尝试过的应用程序网关产品(未成功)

  • nginx
  • 轻量级

相关 RFC

  • RFC2817 ( ...解释了如何使用 HTTP/1.1 中的升级机制通过现有的 TCP 连接启动传输层安全 (TLS)。这允许不安全和安全的 HTTP 流量共享同一个众所周知的端口...)
  • RFC2818 ( ...描述了如何使用 TLS 来保护 Internet 上的 …

linux http nginx https lighttpd

10
推荐指数
1
解决办法
1938
查看次数