美文网首页
Nginx 配置 SSL 证书

Nginx 配置 SSL 证书

作者: SingleDiego | 来源:发表于2023-04-16 19:39 被阅读0次

    上一篇:使用 acme.sh 获取 SSL 证书 我们获得了 SSL 证书,可见到这几个文件。

    • cer 文件是证书文件,也称为公钥证书,它包含了用于将 SSL/TLS 连接加密的公钥和证书持有者的信息。

    • csr 文件是证书签名请求,它包含了证书请求者(通常是网站管理员)的公钥和所需证书的信息,例如证书主题名称、组织名称等等。

    • key 文件是私钥文件,也称为证书私钥,它包含在服务器上用于解密 SSL/TLS 连接的加密密钥。私钥文件通常与证书文件一起使用,以确保通信的安全性和完整性。

    我们需要用到的是 example.xyz.cerexample.xyz.key 两个文件(具体名称取决于你的域名)。

    我们把这两个文件复制出来,本例中我会把它们放在 etc/nginx 路径下,我在该路径下新建一个 SSL 文件夹,证书文件会放置到这里面。

    /etc/nginx/SSL/example.xyz.cer
    /etc/nginx/SSL/example.xyz.key
    






    Nginx 配置

    在 Nginx 的配置文件中配置 SSL 证书和私钥路径:

    server {
        #SSL 默认访问端口号为 443
        listen 443 ssl; 
    
        #请填写绑定证书的域名
        server_name example.xyz; 
        
        #请填写证书文件的相对路径或绝对路径;cer 文件
        ssl_certificate /etc/nginx/SSL/example.xyz.cer; 
        
        #请填写私钥文件的相对路径或绝对路径;key 文件
        ssl_certificate_key /etc/nginx/SSL/example.xyz.key; 
         
        ssl_session_timeout 5m;
         
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
        
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
        
        ssl_prefer_server_ciphers on;
    
        root  /home/html; 
    
        location / {
            …………
        }
    }
    
    • ssl_ciphers:指定 SSL/TLS 连接中可以使用的密码套件的选项。它决定了客户端和服务器之间加密通信时使用哪种算法和参数。这个参数可以被设置为一个字符串列表,每个字符串代表一个密码套件,nginx 将在列表中选择最安全的套件进行使用。

    • ssl_protocols 是 nginx 配置中用来指定 SSL/TLS 连接使用的协议的选项。它决定了 nginx 服务器可以使用哪些 SSL/TLS 协议进行加密通信。该选项可以设置为一个字符串列表,每个字符串代表一个标准的 SSL/TLS 协议版本,例如 SSLv2SSLv3TLSv1.0TLSv1.1TLSv1.2TLSv1.3 等。通常情况下,建议设置 ssl_protocolsTLSv1.2TLSv1.3,以确保更高的安全性和兼容性。

    如果需要强制使用 https,请使用以下重定向:

    server {
        listen 80;
        server_name example.com;
        return 301 https://example.com$request_uri;
    }
    

    相关文章

      网友评论

          本文标题:Nginx 配置 SSL 证书

          本文链接:https://www.haomeiwen.com/subject/iwcqjdtx.html