lighttpd 上基于多个 SSL 的 IP

lighttpd 上基于多个 SSL 的 IP

我有 lighttpd 作为 Web 服务器,并在其上安装了基于 IP 的 SSL 证书。

我希望有一种方法可以让服务器可能获得的每个新 IP 上都有多个 SSL 证书。

例如,目前我有https://127.0.0.1并且它可以工作,但是它的证书上的 CN = 127.0.0.1,所以如果 Web 服务器从 DHCP 服务器获取新的 IP,比如说192.168.1.x,服务器将导致 SSL 不匹配。

相反,我需要一个专门针对该 IP 地址的新证书。

如何创建基于多 IP 的 SSL 证书?当然是在 lighttpd 上。

答案1

我不确定我是否正确理解了你的问题,但是如果你想在服务器上的所有 IP 接口上提供相同的证书,请定义一个不提供 IP 的套接字:

$SERVER["socket"] == ":443" {
     ssl.engine                  = "enable" 
     ssl.pemfile                 = "/path/to/ssl/certificate.pem" 
}

certificate.pem这样,无论分配了什么 IP 地址,它都会在所有接口上使用相同的证书 ( ) 来监听并提供 https 服务

答案2

3 个选项:

  • $SERVER["socket"]通过使用单独的块监听每个 IP 来使用不同的证书
  • 使用TLS/SNI(“服务器名称指示”)- 并非所有客户端都支持
  • 使用 SubjectAltName,请参阅http://wiki.cacert.org/VhostTaskForce(我建议选择此选项)

相关内容