mod_openssl
mod_openssl 使用 OpenSSL 监听独立的套接字,用于 TLS 连接 (https)
openssl (设置)
设置 TLS 套接字
openssl options;
- 选项
- 一个包含以下条目的键值表
- listen
- (必填) 要监听的套接字地址 (与 "listen":plugin_core.html#plugin_core__setup_listen 相同),可以多次指定以设置具有相同选项的多个套接字
- pemfile
- (必填) 包含私钥、证书和(可选)中间证书的文件 (通常不包含根证书)
- ca-file
- 包含中间证书的文件
- ciphers
- OpenSSL 密码字符串 (默认: "HIGH !aNULL !3DES +kEDH +kRSA !kSRP !kPSK")
- dh-params
- 包含生成的 dh-params 的文件名 (默认: 固定 4096 位参数)
- ecdh-curve
- OpenSSL ecdh-curve 名称
- 选项
- OpenSSL 选项列表 (默认: NO_SSLv2, NO_SSLv3, CIPHER_SERVER_PREFERENCE, NO_COMPRESSION, SINGLE_DH_USE, SINGLE_ECDH_USE)
- verify
- 启用客户端证书验证 (默认: false)
- verify-any
- 允许所有 CA 和自签名证书,用于手动检查 (默认: false)
- verify-depth
- 设置客户端验证深度 (默认: 1)
- verify-require
- 中止未能通过验证的客户端 (默认: false)
- client-ca-file
- 包含客户端 CA 证书的文件 (用于验证客户端证书)
对于 ciphers
,请参阅 OpenSSL ciphers 字符串
对于 options
,请参阅 options。通过切换“NO_”前缀来明确指定反向标志以覆盖默认值。
IPv4 和 IPv6 上的简单 TLS
setup {
module_load "mod_openssl";
openssl [
"listen" => "0.0.0.0:443",
"listen" => "[::]:443",
"pemfile" => "/etc/certs/lighttpd.pem",
"options" => ["ALL", "NO_TICKET"],
];
}
带客户端证书验证的 TLS
setup {
module_load "mod_openssl";
openssl (
"listen" => "0.0.0.0:443",
"listen" => "[::]:443",
"pemfile" => "/etc/certs/lighttpd.pem",
"client-ca-file" => "/etc/certs/myCA.pem",
"verify" => true,
"verify-require" => true
);
}
带任意客户端证书的 TLS
setup {
module_load "mod_openssl";
openssl (
"listen" => "0.0.0.0:443",
"listen" => "[::]:443",
"pemfile" => "/etc/certs/lighttpd.pem",
"verify" => true,
"verify-any" => true,
"verify-depth" => 9
);
}
openssl.setenv "client-cert";
openssl.setenv (操作)
设置 SSL 环境变量字符串
openssl.setenv list;
- 列表
- 要导出的子集列表
支持的子集
- “client” – 设置
SSL_CLIENT_S_DN_
短命名条目 - “client-cert” – 设置
SSL_CLIENT_CERT
为客户端证书 PEM - “server” – 设置
SSL_SERVER_S_DN_
短命名条目 - “server-cert” – 设置
SSL_SERVER_CERT
为服务器证书 PEM