1.确保正确安装了openssl;
2.正确安装lighttpd:
1)如果已安装了lighttpd,查看是否支持ssl, 版本信息中含有(ssl)字样就说明支持ssl:
[root@localhost page]# lighttpd -v
lighttpd/1.4.35 (ssl) - a light and fast webserver
Build-Date: Sep 25 2014 18:39:14
2)如果未安装lighttpd, 下载源码:
./configure --with-openssl
make
make install (这个一定要运行, 不能单独拷贝执行程序lighttpd, 因为lighttpd还有很多的插件模块, 我就是因为只拷贝了lighttpd执行程序,导致之后开启了https后,总是出现“400 bad request”问题, 重新make install后,问题消失)
3.修改lighttpd-conf:
$SERVER["socket"] == "0.0.0.0:443" {
ssl.engine = "enable"
ssl.pemfile = "/system/app/content/web/lighttpd/certs/server.pem"
server.document-root = "/system/app/content/www/admin"
}
4.调试时可以增加error log的打印文件位置:
$SERVER["socket"] == "0.0.0.0:4000" {
ssl.engine = "enable"
ssl.pemfile = "/system/app/content/web/lighttpd/certs/server.pem"
server.document-root = "/system/app/content/www/admin"
server.errorlog = "/usr/local/lighttpd/logs/error.log"
}
5.生成证书文件:server.pem(上面lighttpd-conf配置文件中提到的)
openssl req -new -x509 -keyout server.pem -out server.pem -days 365 -nodes
生成好了, 放到lighttpd-conf指定的位置。
6.之前我一直认为php也需要支持openssl, 但实测发现, php不用支持openssl;
查阅资料了解到: php的openssl扩展模块是为了在php程序中实现加密的功能API;