0

我有一个带有 Merlin 固件的 ASUS RT-AC5300 路由器。我在上面安装了Entware,然后按照这篇文章安装了lighttpd: Lighttpd-web-server-with-PHP-support-through-Entware
所以Web服务器通过http可以正常工作,但是在向lighttpd.conf文件中添加了一个部分之后,并尝试重新启动 Web 服务器,但它没有启动。
这篇文章:Enabling_https_via_SSL说我需要将这部分添加到配置文件中:

$SERVER["socket"] == ":443" {
  ssl.engine                  = "enable" 
  ssl.pemfile                 = "/opt/etc/lighttpd/certs/lighttpd.pem" 
}

在我添加了该部分之后,但在重新启动 Web 服务器后,它现在也没有在 http 上响应。浏览器显示错误“ERR_CONNECTION_REFUSED”。
我不明白这个配置文件中的 $SERVER 是什么意思。我有一种感觉,这是一个在我的案例中没有定义的变量。
我在 Mac 上创建的证书文件 .pem 并放置在该目录中。
我看到在Entware的情况下,原始配置文件的位置在这个位置:“/opt/etc/lighttpd/lighttpd.conf”(与lighttpd Wiki页面相比,前面有一个“/opt” ,/opt是插在路由器上的U盘根目录,
我的lighttpd版本是1.4.59:

admin@ASUS_Router:/tmp/home/root# lighttpd -v
lighttpd/1.4.59 (ssl) - a light and fast webserver

如果有人可以帮助我,我将不胜感激。
谢谢。

4

1 回答 1

0

在最新版本的 lighttpd 中,OpenWRT 和衍生产品将 lighttpd-mod-openssl 作为一个独立于 lighttpd 的包。你可能需要opkg install lighttpd-mod-openssl

从命令行提示符运行lighttpd -tt -f /etc/lighttpd/lighttpd.conflighttpd -tt -f /opt/etc/lighttpd/lighttpd.conf在您的情况下。这将预先运行 lighttpd 配置,并可能会为您提供有关您的问题的详细信息。

于 2021-10-04T04:51:36.093 回答