手动签发证书配置nginx

openssl和ssh基本用法

通过OpenSSL工具生成证书

创建私钥

openssl genrsa -des3 -out server.key 2048

注意,centos版本如果是CentOS Linux release 8.0.1905 (Core)版本,私钥长度不能设置成1024位,必须2048位。不然再最后启动nginx时会出如下错误。

nginx: [emerg] SSL_CTX_use_certificate(“/etc/nginx/ssl/server.crt”) failed (SSL: error:140AB18F:SSL routines:SSL_CTX_use_certificate:ee key too small)

其他版本

openssl genrsa -des3 -out server.key 1024

创建csr证书

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

  1. 其中key文件为刚才生成的文件。

  2. 执行上述命令后,需要输入一系列的信息。输入的信息中最重要的为Common Name,这里输入的域名即为要使用https访问的域名 ,可以填:localhost。其它的内容随便填即可。

  3. 以上步骤完成后,ssl文件夹内出现两个文件:server.csr 和 server.key

去除密码

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

  1. 在加载SSL支持的Nginx并使用上述私钥时除去必须的口令,否则会在启动nginx的时候需要输入密码

  2. 然后输入密码,这个密码就是上文中在创建私钥的时候输入的密码

生成crt证书

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

  1. 注意是那不要密码的key去生成
  2. 365就是一年有效,填3650天10年也行

配置nginx

  1. ssl文件夹中一共生成了4个文件。
  2. 需要用到的是其中的server.crt和server_nopwd.key这两个文件。
# server块
server {
       listen       443 ssl;
       server_name  _;
 
       ssl_certificate      ssl/server.crt;
       # 注意是不要密码的key
       ssl_certificate_key  ssl/server_nopwd.key;
 
       ssl_session_cache    shared:SSL:1m;
       ssl_session_timeout  5m;
 
       ssl_ciphers  HIGH:!aNULL:!MD5;
       ssl_prefer_server_ciphers  on;
 
       location / {
           root   html;
           index  index.html index.htm;
       }
}
  1. 访问https://ip即可。
  2. 欢迎来访在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Generalzy

文章对您有帮助,倍感荣幸

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值