安装AjaxTerm很容易,因为已经有现成的ebuild,而且还有专门的init脚本用于启动服务器。不过我还得把它集成到我对Web服务器上。开始我只是把Apache的配置简单翻译成lighttpd的语法,当然还要调整适应我的需求。我要把它映射到“/ajaxterm”上,而且还要用HTTPS,就象下面这样:
$SERVER["socket"] == ":443" {
ssl.engine = "enable"
ssl.pemfile = "/etc/ssl/certs/lighttpd.pem"
proxy.server = ( "/ajaxterm" =>
( "localhost" =>
(
"host" => "127.0.0.1",
"port" => 8022
)
)
)
}结果出现了下面这样的情况。
不过如果我绕过lighttpd,直接连接AjaxTerm服务器http://localhost:8022就没有问题。我在网上搜索了一下,发现也有人提到遇到同样的问题,但是好像没有得到解决。
用FireBug我能看到ajaxterm.js中XMLHttpRequest发出的请求的URL居然是http://localhost/u,而不是我希望的http://localhost/ajaxterm/u。在仔细看Apache的配置
ProxyPass /ajaxterm/ http://localhost:8022/原来人家后面也有个“/”,也就是需要映射到“/ajaxterm/”上,如果需要让“/ajaxterm”也干活,加个redirect就行了。
ProxyPassReverse /ajaxterm/ http://localhost:8022/
$SERVER["socket"] == ":443" {
ssl.engine = "enable"
ssl.pemfile = "/etc/ssl/certs/lighttpd.pem"
proxy.server = ( "/ajaxterm" =>
( "localhost" =>
(
"host" => "127.0.0.1",
"port" => 8022
)
)
)
}
url.redirect = (
"^/ajaxterm$" => "/ajaxterm/"
)现在,终于能看到令人高兴的画面了。