美文网首页
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