配置 Nginx 的 HTTPS

发布于:2025-05-01 ⋅ 阅读:(11) ⋅ 点赞:(0)

 证书文件

文件名

作用

来源

example.com.key

服务器的私钥,用于加密和解密数据。

本地生成

-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAqp5c...
-----END RSA PRIVATE KEY-----

example.com.csr

证书签名请求文件,包含公钥和申请者信息,提交给 CA 以获取证书。

本地生成

-----BEGIN CERTIFICATE REQUEST-----
MIICtjCCAZ4CAQAwc...
-----END CERTIFICATE REQUEST-----

example.com.crt

CA 签发的 SSL/TLS 证书,包含公钥和 CA 的签名,用于证明服务器身份。

-----BEGIN CERTIFICATE-----
MIIHjTCCBXWgAwIBAgIQC
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFxjCCBK6gAwIBAgIQDwa7CTBhSC...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEfjCC...
-----END CERTIFICATE-----

CA 提供

example.com.cer

证书文件的另一种扩展名,功能与.crt相同。

CA 提供

example.com.pem

可能包含证书、私钥或证书链的通用文件格式。

本地生成或 CA 提供

服务器证书安装配置-示例

复制 example.com.keyexample.com.pem 文件到 Nginx 安装目录下的 conf 目录。

server {
    listen 443;
    server_name example.com;

    ssl on;
    # 指定私钥文件
    ssl_certificate_key /path/to/example.com.key;

    # 指定你的 SSL/TLS 证书文件(可以是 .crt 或 .pem 文件)
    ssl_certificate example.com.pem;

    ssl_session_timeout 5m;
    
    # 启用TLS1.1,TLS1.2要求 OpenSSL1.0.1及以上版本,若您的OpenSSL版本低于要求请使用 ssl_protocols TLSv1;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

    # 定义支持的加密算法列表
    ssl_ciphers HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM;

    # 启用服务器优先选择加密算法
    ssl_prefer_server_ciphers on;
}