0
点赞
收藏
分享

微信扫一扫

Nginx支持HTTPS,openssl生成SSL证书

王远洋 2022-04-23 阅读 53
nginx

./configure --prefix=/usr/local/nginx --with-http_ssl_module

1)创建SSL证书私钥,输入两次密码,生成文件为server.key

openssl genrsa -des3 -out server.key 2048

在这里插入图片描述
2)利用私钥生成一个不需要输入密码的密钥文件,生成文件为 server_nopass.key, 需要输入一次密码

 openssl rsa -in server.key -out server_nopass.key

在这里插入图片描述
3)创建SSL证书签名请求文件,生成SSL证书时需要使用到,生成文件为server.csr;
在生成过程中,我们需要输入一些信息,需要注意的是Common Name需要和网站域名一致

openssl req -new -key server.key -out server.csr

在这里插入图片描述
4)生成SSL证书,有效期为365天,生成文件为server.crt;

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

在这里插入图片描述
没有域名也没事,直接配置 hosts 文件也是可以的
在这里插入图片描述
别忘了配完后刷新 dns 缓存: ipconfig/flushdns

server {
    listen       80; 
    listen       443 ssl; 
    server_name  ip;
    ssl_certificate      /usr/local/nginx/ssl/server.crt; 
    ssl_certificate_key  /usr/local/nginx/ssl/server_nopass.key; 
    ssl_protocols        TLSv1 TLSv1.1 TLSv1.2; # SSL协议版本
    ssl_ciphers          ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; # SSL加密算法
    ssl_prefer_server_ciphers  on; # 优先采取服务器算法
    ssl_session_cache    shared:SSL:10m; # 共享会话缓存大小
    ssl_session_timeout  10m; # 会话超时时间
 
    location / {
        root   /usr/share/nginx/html/www;
        index  index.html index.htm;
    }
 
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}
举报

相关推荐

0 条评论