主要目标是从流行的Web服务器代码库(在C中实现)中学习,优先考虑结构/设计而不是整个代码中的巧妙技巧.
我没有包含Apache,因为它的代码库比上面提到的两个数量级大一个数量级.
RewriteEngine on
RewriteRule ^packed\.js$ pack.php?debug=0 [nc]
RewriteRule ^debug$ pack.php?debug=1 [nc]
Run Code Online (Sandbox Code Playgroud)
这在位于特定目录中的.htaccess文件中的apache上运行良好.如果我想在lighttpd上这样做,我是否必须在配置文件中添加它?
我是否需要对这些规则进行任何更改?
我想了解在通过websockets将MQTT代理映射到浏览器时保护Mosquitto的最佳方法.我正在使用Lighttpd作为websocket层,根据这篇博客文章.
我的用例是单向的.我只需要向浏览器发送消息.因此,我可以使用ACL来防止恶意分子发布消息.
但是,我怎样才能阻止歹徒订阅,或者更好的是,首先建立连接?
我知道我可以使用ID/pw进行MQTT连接.所以,我猜我的应用服务器可以在用户自己验证后将凭据发送到浏览器,然后Javascript客户端可以使用这些凭据来建立MQTT/WS连接.但是,如果我有数千个客户端,我该如何管理ID和密码?或者我应该只有一些ID并定期回收它们?我是否应该根据mosquitto-auth-plug将此位移至Redis或类似位置?
通过保护webserver层中的连接,我想知道是否有更好的方法.Lighttpd 的mod_secdownload插件似乎提供了一个模型,可以根据共享密钥(保留服务器端)和时间戳的哈希动态生成URL.用户通过身份验证后,应用服务器将向下传递此URL,然后客户端将使用它来建立到MQTT代理的连接.过了一会儿,URL将过期,Javascript客户端可以捕获此异常,如果用户仍然经过身份验证,则可以请求新的WS连接URL.这与许多API身份验证类似.它有价值吗?
有更好的方法吗?
谢谢,J.
当我们使用nginx作为webserver时,我们也使用php-fpm.如果我们使用apache或lighttpd,我们会更多地讨论php-cgi.那么问题是php-cgi和php-fpm之间的关系和区别是什么?非常感谢.
我在一个小型虚拟专用服务器上玩lighttpd.我指向服务器的两个域.我在Ubuntu 8.10上使用最新版本的lighttpd和mod_evhost.
我正在尝试设置一条规则,如果有人请求domain.com 或www.domain.com,则可以从/webroot/domain.com/www/获得服务
同样,如果有人请求sub.domain.com,他们将从/webroot/domain.com/sub/获得服务
如果有人要求 fake.domain.com(其中/webroot/domain.com/fake/不存在),我希望他们从/webroot/domain.com/www/服务
第三个要求并不那么重要,我可以处理请求从/webroot/server.com/www/的服务器文档根目录提供的不存在的子域的人,即使他们请求fake.domain.com
我在下面列出了lighttpd.conf文件的相关部分:
server.document-root = "/webroot/server.com/www/"
// regex to match sub.domain.com
$HTTP["host"] =~ "\b[a-zA-Z]\w*\.\b[a-zA-Z]\w*\.\b[a-zA-Z]\w*" {
evhost.path-pattern = "/webroot/%0/%3/"
}
// regex to match domain.com
$HTTP["host"] =~ "\b[a-zA-Z]\w*\.\b[a-zA-Z]\w*" {
evhost.path-pattern = "/webroot/%0/www/"
}
Run Code Online (Sandbox Code Playgroud)
那我哪里错了?目前,所有请求都是*.domain.com .domain.com和domain.com的均来自/webroot/domain.com/www/
我很感激你们提供的任何帮助,如果我遗漏了任何相关信息,请告诉我!
干杯,罗布
好的,我已经在SO上以及网络上的其他地方看过很多次这个问题了.但是......他们都很老了,所以我会再发一次.
我有以下需求:
能够处理大量的同时HTTP连接(如彗星).这就是我在寻找其他网络服务器而不是apache的原因.
应该很容易安装和运行PHP
需要反向代理将某些请求引导到另一个端口上的备用Web服务器(apache或yaws).
我知道nginx默认没有快速的cgi支持.虽然lighthttpd似乎有这个,但我读到了关于内存泄漏的抱怨.内存泄漏问题仍然普遍存在吗?
你现在推荐什么:nginx或lighthttpd?或者是其他东西?为什么?
我想设置带有禁用cookie的域,以提供静态内容.
我有两个网站:一个使用Lighttpd和PHP,第二个使用Apache,这两个网站都没有正确处理分块传输编码.
我从我的手机J2ME发送此请求,并且无法将此传输类型更改为任何其他类型.
所以我唯一的办法就是以其他方式处理分块传输已编码请求.任何解决方案都会很好,只要我可以在我的CentOS服务器上启用它,我可以安装并更改所有必要的东西.
所以我的问题是:如何在服务器端正确处理分块编码请求?
我想重写我的Symfony 2 URL,而不是显示
www.example.com/app.php/path
表明
www.example.com/path
我怎么能用lighttpd做到这一点?
我尝试将mimetype.assign =(".webapp"=>"application/x-web-app-manifest + json")添加到我轻松的conf文件中,但重新启动时出错.
首先是conf文件:
server.modules = (
"mod_access",
"mod_alias",
"mod_compress",
"mod_redirect",
# "mod_rewrite",
)
server.document-root = "/var/www/servers/www.nope.dyndns.org/pages/"
server.upload-dirs = ( "/var/cache/lighttpd/uploads" )
server.errorlog = "/var/log/lighttpd/error.log"
server.pid-file = "/var/run/lighttpd.pid"
server.username = "www-data"
server.groupname = "www-data"
server.port = 80
mimetype.assign = ( ".webapp" => "application/x-web-app-manifest+json" )
index-file.names = ( "index.php", "index.html", "index.lighttpd.html" )
url.access-deny = ( "~", ".inc" )
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
compress.cache-dir = "/var/cache/lighttpd/compress/"
compress.filetype = ( "application/javascript", "text/css", "text/html", "text/plain" )
# default listening port …Run Code Online (Sandbox Code Playgroud)