Nginx自建CA配置https服务器

2 篇文章 0 订阅
1 篇文章 0 订阅

一、openssl

openssl1.0.1g以上


二、自建CA,用CA证书进行签名,创建服务器证书

1.使用CA.sh创建CA跟证书

首先,修改openssl的配置文件:
sudo vim /usr/local/ssl/openssl.cnf (mac:/System/Library/OpenSSL)
修改default_bits=1024为default_bits=2048,使其openssl加密使用2048位。

然后,创建一个目录,并且将生成CA证书的脚本CA.sh复制到这个目录:
mkdir ca
cd ca
cp /usr/local/ssl/misc/CA.sh CA.sh
CA.sh这个脚本如果找不到,可以使用 openssl version -a查看openssl对应的目录,而CA.sh一般就在这个目录的子目录misc目录下。

之后,执行:
./CA.sh -newca
CA.sh会使用/usr/local/ssl/openssl.cnf中的配置来创建私钥和证书,创建CA证书过程中,不输入信息,直接回车,填写加密私钥的密码和生成CA证书的相关信息。创建完之后会生成demoCA目录。这个目录有:
cacert.pem  certs  index.txt       index.txt.old  private
careq.pem   crl    index.txt.attr  newcerts       serial
其中cacert.pem是CA的证书,private存放CA的私钥,newcerts存放CA签名的备份。到这里,CA已经建好了,下面通过CA来对证书进行签名。

2.使用CA跟证书为服务器证书签名
#生成私钥
sudo  openssl genrsa -des3 -out private.key 2048
#生成证书请求
sudo openssl req -new -key private.key -out server.csr
#生成服务器的私钥,去除密钥口令
sudo openssl rsa -in private.key -out server.key
#使用CA进行签名,生成server.crt
cp server.csr newreq.pem
./CA.sh -sign
mv newcert.pem server.crt
或者上面三步都不需要,直接使用下面一步
openssl ca -in server.csr -out server.crt

所需要的三个文件server.crt, server.key, ca.crt,其中ca.crt用户客户端使用,server.crt和server.key部署于Nginx服务器。

三、将证书配置与Nginx服务器
将server.crt server.key拷贝到/etc/nginx中,然后在/etc/nginx/conf.d中添加服务器配置my.conf:
server {
    listen 80;
    server_name 120.24.89.159;

    return 301 https://$server_name$request_uri;
}

server {
    # This is not an error. HTTPs termination happens at LB so 
    # this is just another server
    listen         443;
    server_name    120.24.89.159;

    ssl                  on;
    ssl_certificate      /etc/nginx/server.crt;
    ssl_certificate_key  /etc/nginx/server.key;

    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        client_max_body_size 50M;
    }
    location /static {
        alias  /app/zoomapp/app/static;
    }
}





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值