$HTTP["host"] == "a.aslibra.com" {
       proxy.server = ( "" =>
                  ( (
                      "host" => "b.aslibra.com"
                    ) )
        )
}


这样的代码在apache里面是正常的,今天使用lighttpd就发现出现 500 的内部错误。
于是查资料,看看lighttpd的官方说明:

引用
<extension>: is the file-extension or prefix (if started with "/") might empty to match all requests
"host": is ip of the proxy server ''DO not use hostnames here! only IP Addresses''
"port": is tcp-port on the "host" used by the proxy server (default: 80)


也就是不允许用域名了,不知道是否正常,可以测试一下:

做个PHP文件:

proxy.php
<?
ob_start();
print_r($_SERVER);
$a=ob_get_contents();
file_put_contents("log.txt",$a);
?>


得到代码:
wget http://127.0.0.1/proxy.php
引用
   [SERVER_NAME] => 127.0.0.1
   [GATEWAY_INTERFACE] => CGI/1.1
   [SERVER_PORT] => 80
   [SERVER_ADDR] => 127.0.0.1
   [REMOTE_PORT] => 50677
   [REMOTE_ADDR] => 127.0.0.1


指定proxy和hosts文件:
127.0.0.1 proxy.aslibra.com

$HTTP["host"] == "proxy.aslibra.com" {
       proxy.server = ( "" =>
                  ( (
                      "host" => "127.0.0.1",
                      "port" => 80
                    ) )
        )
}


引用
   [SERVER_NAME] => proxy.aslibra.com
   [GATEWAY_INTERFACE] => CGI/1.1
   [SERVER_PORT] => 80
   [SERVER_ADDR] => 127.0.0.1
   [REMOTE_PORT] => 50676
   [REMOTE_ADDR] => 127.0.0.1


也就是发送的还是当前的主机域名,所以proxy也不用担心只是按IP访问,和正常的代理一样。

但是,这样的话,如果域名指向有变化,那这里就不方便了,apache里面可以用域名的方式,那其实可以不用担心域名指向变化,但lighttpd这样肯定对效率有很大的提高。
Tags: ,
Lighttpd是一个德国人领导的开源软件,其根本的目的是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的web server环境。具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点。lighttpd是众多OpenSource轻量级的web server中较为优秀的一个。支持FastCGI, CGI, Auth, 输出压缩(output compress), URL重写, Alias等重要功能,而Apache之所以流行,很大程度也是因为功能丰富,在lighttpd上很多功能都有相应的实现了,这点对于apache的用户是非常重要的,因为迁移到lighttpd就必须面对这些问题。




lighttpd的url重写:

引用
URL 重写是截取传入 Web 请求并自动将请求重定向到其他 URL 的过程。url重写的优点在于:

a.缩短url,隐藏实际路径提高安全性;
b.易于用户记忆和键入;
c. 易于被搜索引擎收录。

lighttpd(http://lighttpd.net/)是一款轻量级的web server,和apache一样是开源的,与apache相比,

虽然功能不及apache完善,稳定性也不如apache,但是,不管是服务静态页面,还是服务动态内容(CGI,

PHP),它都比apache快,用于ad banner之类的WEB服务器是最恰当不过了。采用lighttpd的网站不少,最

著名的是豆瓣(http://www.douban.com)。

然而,我发现网上介绍lighttpd的url重写技术的文章非常少,所以我将资料整理在这里,方便各位查看



lighttpd的url重写非常简单,只要打开lighttpd.conf文件,(该文件一般在/usr/local/etc/目录下,

如果不是自己安装的,可以用find命令找到),找到url.rewrite-once = ( ),在括号中写url重写规则

就可以了。以下是某个网站的例子:

 url.rewrite-once = (
"^/rank/([0-9]+).html$" =>"/rank.php?pid=$1",
"^/(w+)/?$" =>"/userinfo.php?puser=$1",
"^/detail/([0-9]+).html$" =>"/detail.php?id=$1"
)
分页: 3/3 第一页 上页 1 2 3 最后页 [ 显示模式: 摘要 | 列表 ]

阅读推荐

服务器相关推荐

开发相关推荐

应用软件推荐