nginx配置https访问, 生成自签名证书

这里说下Linux 系统怎么通过openssl命令生成 证书。

创建存放证书的目录,此目录可自定义

cd /etc/nginx

mkdir key

cd key

执行如下命令生成一个key

   openssl genrsa -des3 -out ssl.key 1024

然后他会要求你输入这个key文件的密码。不推荐输入。因为以后要给nginx使用。每次reload nginx配置时候都要你验证这个PAM密码的。
由于生成时候必须输入密码。你可以输入后 再删掉。

mv ssl.key xxx.key
openssl rsa -in xxx.key -out ssl.key
rm xxx.key

然后根据这个key文件生成证书请求文件

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

以上命令生成时候要填很多东西 如图:

在这里插入图片描述
最后根据这2个文件(ssl.key ssl.csr)生成crt证书文件

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

这里365是证书有效期 推荐3650哈哈。这个大家随意。最后使用到的文件是key和crt文件。

在这里插入图片描述
### 如果需要用pfx 可以用以下命令生成 openssl pkcs12 -export -inkey ssl.key -in ssl.crt -out ssl.pfx

在需要使用证书的nginx配置文件的server节点里加入以下配置就可以了。

upstream tomcatserver2 {
    server 127.0.0.1:8080;
    }

# HTTPS server
server {
    listen       443 ssl;
    server_name  192.168.1.128;

    ssl_certificate      /root/key/ssl.crt;
    ssl_certificate_key   /root/key/ssl.key;

    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;

    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;

    location / {
    proxy_pass   http://tomcatserver2;
        root   html;
        index  index.html index.htm;
    }
}

注意:
nginx版本1.5以下,需要加 ssl on;
nginx版本1.5以以上,不需要加 ssl on;,直接在listen 443 后面加 ssl ,即:listen 443 ssl;
在这里插入图片描述
配置完,重新加载即可:

./nginx -s reload

如果报以下错误:
在这里插入图片描述
说明key太短了,则把上面的命令中1024改为2048,重复以上操作,即可

openssl genrsa -des3 -out ssl.key 2048

本文为转载,原文为:https://blog.csdn.net/reid_lv/article/details/80106560

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值