4.5. 使用 HSM 保护 Nginx 中的私钥
Nginx
HTTP 服务器可以使用存储在硬件安全模块(HSM)上的私钥,这有助于防止密钥泄漏和中间人攻击。请注意,对于繁忙的服务器,这通常需要高性能的 HSM 。
因为 Nginx
也使用 OpenSSL 进行加密操作,所以对 PKCS #11 的支持必须通过 openssl-pkcs11
引擎。nginx
目前只支持从 HSM 加载私钥,证书必须作为常规文件单独提供。修改 /etc/nginx/nginx.conf
配置文件中 server
部分的 ssl_certificate
和 ssl_certificate_key
选项:
ssl_certificate /path/to/cert.pem ssl_certificate_key "engine:pkcs11:pkcs11:token=softhsm;id=%01;type=private?pin-value=111111";
请注意,在 Nginx
配置文件中,PKCS #11 URI 需要 engine:pkcs 11:
前缀。这是因为其它 pkcs11
前缀引用引擎名称。