Articles of lighttpd

什么是阻止来自旧域名的HTTP / HTTPS请求的最有效方法?

一个专门的CentOS盒子,使用lighttpd服务www.newdomain.com 。 但是,用于托pipe旧域名www.olddomain.com相同的IP。 该箱子仍然收到www.olddomain.com请求。 什么是阻止这些请求的最有效的方法? 通过一个iptables规则 通过lighttpd中的规则 添加一个hosts.deny 另一个select,没有想到 注意 :我无权访问www.olddomain.com的域名服务器或域名logging

为什么一套有效的iptables规则会使我的服务器变慢?

所以我实现了一些不同的iptables规则集,现在如果我启用它们,那么lighttpd只需要永久加载php启用的页面(如wp)。 服务器上没有负载,处理器使用率保持低。 这是我的configuration,这可能是什么原因? *过滤 :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :fail2ban-ssh – [0:0] -Ainput-p tcp -m tcp –dport 80 -j ACCEPT -A INPUT -p tcp -m tcp –dport 2012 -j ACCEPT -A INPUT -p tcp -m tcp –dport 1194 -j ACCEPT -Ainput-p icmp -m icmp -icmp-type 8 -j ACCEPT -Ainput-i lo -j接受 -A OUTPUT -j […]

Lighttpd,Python,MySQLdb Python模块和权限

最近重新启动lighttpd服务器后,我一直无法启动并重新运行。 我正在运行一个python构build的API服务,并依靠web.py模块来运行应用程序。 我很难获取MySQLdb Python模块导入。 这个特定的导入导致所有的东西都出错了,当我尝试点击API的时候会产生一个500 error 。 起初,我认为这只是一个权限问题,因为我可以从命令行运行python时导入模块。 当我看到从命令行运行MySQLdb ,我继续将模块的Python代码和Python的权限更改为755.但是,这并没有解决问题。 我不完全确定什么是最有用的发布在这里,所以我会包括一些configuration设置和有关服务器的其他一般事实。 为了澄清,我可以得到一个Hello, World! 消息用我的lighttpd设置打印,并且还确认lighttpd服务器正在使用正确的Python版本(即1.7.3) 。 MySQLDb Python模块代码的位置: /home/pythoninstall/MySQL-python-1.2.3c1 Python第三方模块/蛋的位置: /opt/python2.7/lib/python2.7/site-packages Python的Lighttpd FastCGI设置: server.modules = ("mod_fastcgi","mod_accesslog","mod_rewrite", "mod_access", "mod_redirect", "mod_proxy") server.document-root = "/home/OverLord/" fastcgi.server = ( "/code.py" => (( "bin-environment" => ( "REAL_SCRIPT_NAME" => "" ), "socket" => "/tmp/fastcgi.socket", "bin-path" => "/opt/python2.7/bin/python /home/OverLord/code.py", "check-local" => "disable", "max-procs" […]

如何在每次lighttpd调用时禁用缩短的SSL握手以执行完整的握手?

我了解ssl握手stream程,但是我面临一个逻辑问题。 当用户select证书时,我需要根据应用程序对其进行validation,以了解其可靠性并与任何系统用户匹配。 但是,如果没有,我必须允许用户再次要求select另一个。 也许用户在他们的机器上安装了多个证书,并错误地select了错误的证书。 在我的实际情况下,要select另一个证书,用户必须closures浏览器并再次打开,但它会给用户带来负面的体验,我想改进它。 该解决scheme为每个请求都进行握手,因此它允许用户select另一个请求。 但是怎么做呢? 我发现的最相关的问题是https://security.stackexchange.com/questions/56623/avoiding-ssl-handshake-for-each-call 。 完整的握手是客户端和服务器彼此不认识时所做的(他们以前没有谈过,或者很久以前)。 在完整握手中,证书被发送,并且发生非对称密码(RSA,Diffie-Hellman …)。 缩略握手是客户端和服务器互相记住的内容; 更准确地说,他们记得在先前的完整握手中build立的algorithm和密钥,并同意重用它们(从技术上讲,它们重用“主密钥”并从中获得新的encryption密钥)。 我可以释放任何cookie,closures选项卡,并禁用保持活动,第二次握手不会打开证书提示。 它使用的是之前select的,而对于Chrome而言,Firefox没有“记住我的决定”的选项。 边缘,歌剧,边缘等相同的发生是否是一个标准? 我想,它可以由服务器端来控制,请求一个新的SSL握手。 我做了一些干预,试图自己解决,但没有成功 在客户端 : 清除所有的数据,甚至历史。 在另一个子域中打开Cookie 在服务器端 : 发送“连接:closures”标题 禁用保持活动 closures浏览器是唯一有效的新的SSL握手,但它会促进不良的用户体验。 那么,如果我正在清理浏览器中的所有数据,closures连接,删除所有活动的数据,并且仍然使用第二个请求中select的第一个证书,直到closures浏览器(终止所有进程),出现错误,或者与浏览器(全部)或与服务器。 如果我的应用程序使用SSL对用户进行身份validation,则不能在不closures浏览器的情况下使用多个login名,这是不对的,应该有重新协商此身份validation的方法。

如何诊断Lighttpd上的内部服务器错误?

我在CentOS 5上使用了Fcgi和Memcached的Lighttpd。 定期,每周或两个一次我得到内部服务器错误500,我必须手动重新启动lighttpd让它再次工作。 在我的lighttpdconfiguration中,我定义了错误日志文件: server.errorlog = "/home/lxadmin/httpd/lighttpd/error.log" 但是,当我打开它时,它只有一个月前没有最后一天的行。 所以我的问题是如何诊断是什么问题,以及如何启用我的configuration错误日志?

在哪里设置“PHP_FCGI_MAX_REQUESTS”(lighttpd)

我想设置最大的请求,以防止内存泄漏时我的系统内存不足。 但我不知道它在哪里。

如何在2台服务器上同时使用2个Web服务器,而不会再次发生混乱

我有大的phpbb论坛和2台服务器。 想要将http加载从1个Web服务器分发到2个Web服务器。 过去是不是已经有了问题 在两台服务器(1和2)上都是lighttpd。 当用户连接到服务器号码1时,我使用了各种负载平衡器,然后平衡器决定他是否应该连接到服务器1或2上的lighttpd。 一切都很好,除了加载ballancing是循环(随机),当用户login论坛(某种会话),然后在下一页被redirect到第二台服务器,他没有他的会议! 所以他必须再次login,但是谁知道下一次将被redirect到哪里。 解决scheme是创build可从两个服务器访问的会话。 那么不pipe从哪个用户访问,他不会有问题(我认为)。 究竟是什么问题,我认为它的会话文件在tmp从lighttpd,因为从phpbb会话是在两个服务器可以访问的数据库。 另一件事可能是从phpbb会话的cookie写在那里用于login的服务器的ip,如果ip先前在cookie中被改变(第二web服务器),导致问题。 另外的问题是,当用户被redirect到Web服务器2时,他将获得redirect他的服务器的IP地址(不是他自己的IP)。 这就像他从服务器1 – >服务器2隧道。没有直接redirect到服务器2,因为它应该。 这两个问题都需要帮助,我需要做的,让用户使用我的网站从2 diffirentnetworking服务器(在这个例子lighttpd)没有问题。

lighttpd VS Apache

你能告诉我有什么区别(我从来没有听说过lighttpd之前)? 亲/缺点? 你会select哪个网站处理大量查询(如每天20,000分钟)? 谢谢

Python Django的更好的Web服务器性能:Apache mod_wsgi或Lighttpd fastcgi

我目前正在使用Apache和mod_wsgi运行一个高stream量的python / django网站。 我希望有一个更快的networking服务器configuration,我已经听说了一些lighttpd和fastcgi的build议。 这个设置比apache + mod_wsgi为服务dynamicDjango页面更快(我已经确信lighttpd可以更好地服务于静态文件)? 网上的基准要么很差或不确定,所以我正在寻找一些个人轶事。 lighttpd + fastcgi提供什么架构好处? 我知道lighttpd使用epoll,并且fastcgi进程将是multithreading的。 另外,有两个独立的进程,一个用于lighttpd,另一个用于python解释器,将会非常有益。 我知道龙卷风和它使用epoll和callback处理成千上万的文件描述符的能力less得多。 不过,我宁愿现在坚持与Django。 谢谢, 肯

如何提供一个wget –mirror的带有问号的文件目录

我试图创build一个PHP应用程序的静态镜像(特别是一个旧的PHP画廊安装)。 该应用程序产生的URL如下: view_album.php?set_albumName=MyAlbum wget直接将这些文件下载到名称相同的文件中,并带有问号。 为了不打破入站链接,我想保留这些名称。 但是,我如何为他们服务呢? 我遇到了两个问题: Web服务器(正确)尝试查找“view_album.php”,并将查询parameter passing给它,而不是find一个带有问号的文件。 如何告诉Web服务器在其中查找带有问号的文件? 重命名文件是不可取的,因为它会打破入站链接。 我无法告诉入站链接器%编码它们的URL。 这些文件不以HTML结尾,所以大多数networking服务器不会发送html内容types的头文件。 我应该寻找什么样的configuration参数来告诉它为一个目录中的所有文件强制使用“text / html”内容types还是匹配某种模式? 我最终使用lighttpd,但如果你知道什么样的configuration可能会得到与Apache / Nginx所需的结果我也很想听到。