【问题标题】:Configuring https on lighttpd在 lighttpd 上配置 https
【发布时间】:2019-09-05 16:33:06
【问题描述】:

我在标准 Alpine Linux/3.9.0 上配置 https,运行 PHP/7.2.14 和 lighttpd/1.4.52 (ssl)。我有我的域名(我称之为“mydomain.com”),并且我已经获得了 ssl 文件 mydomain.crt、mydomain.p7b、mydomain.ca-bundle、mydomain.key 和 mydomain.pem。

-当我在 mydomain.com:443 使用 http 搜索时,我访问了我的网站。

-当我在 mydomain.com 上使用 https 搜索时,连接超时。

我错误地配置了 /etc/lighttpd/lighttpd.conf,我认为这与我的“.crt”文件有关。我搜索了 StackOverflow 并通过谷歌搜索,但两个最有用的来源是:

https://tecadmin.net/configure-ssl-in-lighttpd-server/
https://www.digicert.com/ssl-certificate-installation-lighttpd.htm

这是在默认配置文件 /etc/lighttpd/lighttpd.conf 中添加/修改的:

server.port = 443
$SERVER["socket"] == ":443" {
   ssl.engine = "enable"
   ssl.pemfile = "/etc/lighttpd/mydomain.pem"
   ssl.ca-file = "/etc/lighttpd/mydomain.crt"
   server.name = "mydomain"
   server.document-root = "/var/www/localhost/htdocs"
}

我也试过替换
ssl.ca-file = "/etc/lighttpd/mydomain.crt"

ssl.ca-file = "/etc/lighttpd/mydomain.ca-bundle"

我期待 /etc/lighttpd/mydomain.crt 工作,但我只能通过 http(成功连接)访问端口 443,而不是通过 https(连接超时)。我有一个 .crt 文件 (mydomain.crt)。我应该将文件 mydomain.ca-bundle 修改为 .crt 文件吗?

【问题讨论】:

    标签: ssl https lighttpd alpine ca


    【解决方案1】:

    好的,所以肇事者就是这条线:

    server.port = 443
    

    我是一个新手,我没有意识到你应该打开端口 80 和端口 443 来启用 https。 lighttpd 默认使用 80,所以我只需要注释掉这一行:

    # server.port = 443
    

    未来读者注意:因此,对于 https,端口 80 和 443 也必须在您的路由器上转发。

    【讨论】:

    • 仅供参考:您可以使用 server.port = 443,但也应该在全局范围内使用 ssl.* 指令,在 server.port = 443 旁边,而不是在 $SERVER["socket"] == ":443" { ... } 内。 (旁白:lighttpd 1.4.60 及更高版本处理得更好。)
    猜你喜欢
    • 1970-01-01
    • 2017-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-24
    • 2016-08-23
    • 2012-09-14
    相关资源
    最近更新 更多