美文网首页
申请免费ssl证书并配置

申请免费ssl证书并配置

作者: 喜叔z | 来源:发表于2019-08-10 17:56 被阅读0次

准备工作,创建https文件

mkdir /data/www/https

1 创建账户私钥

首先创建一个目录,用来存放所有的密钥文件。

我在根目录下创建了/data/www/https文件

之后就是创建账户密钥了,命名为account.key,具体命令如下:

openssl genrsa 4096 > account.key

这个密钥是用来给Let's Encrypt网站验证身份的。

2 创建CSR文件

下面的步骤就是为生成SSL证书做准备了。

首先用下面的命令生成域名密钥。

openssl genrsa 4096 > domain.key

之后生成CSR文件,这里要将需要SSL的域名填进去,以我的网站为例,我将www域名添加了进去。

openssl req -new -sha256 -key domain.key -subj "/" -reqexts SAN -config <(cat /etc/pki/tls/openssl.cnf <(printf "[SAN]\nsubjectAltName=DNS:www.54hongxi.xyz")) > domain.csr

3 域名验证

在Let's Encrypt进行证书签发之前,需要对我们的网站验证所有权。具体来说,他会访问网站的/.well-known/acme-challenge/目录来查看有没有他要求的文件。
在这里,我们只需在网站根目录下创建该文件夹即可。

mkdir /data/www/challenges

4 创建证书

首先,下载acme-tiny自动化证书管理脚本。

wget https://raw.githubusercontent.com/diafygi/acme-tiny/master/acme_tiny.py

接着,指定账户密钥、域名密钥以及验证网站所有权时使用的目录。

python acme_tiny.py --account-key ./account.key --csr ./domain.csr --acme-dir /data/www/challenges/ > ./signed.crt

最后,需要将中间证书和网站证书合并:

wget -O - https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.pem > intermediate.pem
cat signed.crt intermediate.pem > chained.pem

这样,我们最终的证书就是chained.pem

其他

创建challenges

mkdir /data/www/challenges

配置nginx

server {
    listen 80 default_server;
    listen 443 default_server;//ssl监听443
        server_name  网址;
        //开启并配置
    ssl on;
        ssl_certificate /data/www/https/chained.pem;
        ssl_certificate_key /data/www/https/domain.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA;
        ssl_session_cache shared:SSL:50m;


    location /.well-known/acme-challenge/ {
        alias /data/www/challenges/;
        try_files $uri =404;
    }

    location /static {
        alias  /data/www/orderAll/web/static/;
    }

    location / {
        try_files $uri @yourapplication;
    }
        location @yourapplication {
                 include uwsgi_params;
                 uwsgi_pass unix:/data/www/logs/order.sock;
                 uwsgi_read_timeout 1800;
                 uwsgi_send_timeout 300;
    }
}

重启nginx

sudo service nginx reload

参考文章:
https://fanzheng.org/archives/21

相关文章

  • https-为你的博客加入SSL

    免费腾讯云ssl证书 腾讯云的ssl证书,自个申请.配置nginx的ssl前,需要申请ssl证书:ssl证书一共两...

  • 在Nginx中配置ssl证书

    网站配置ssl证书之后,就可以使用https的方式进行访问。 1.申请ssl证书 可以申请免费的ssl证书,也可以...

  • 申请免费ssl证书并配置

    准备工作,创建https文件 1 创建账户私钥 首先创建一个目录,用来存放所有的密钥文件。 我在根目录下创建了/d...

  • 阿里云HTTPS网站配置和apache的主httpd.conf文

    配置HTTPS 一、SSL证书申请: 如果是阿里云可以申请免费证书: 如果不是阿里云: 二、开通证书:购买位置:打...

  • Nginx下配置SSL证书

    一、申请证书 需要免费申请SSL证书的同学可以参考这篇文章《八大免费SSL证书:给你的网站免费添加HTTPS加密》...

  • 如何为nginx配置https(免费证书)

    如何为nginx配置https(免费证书) 前言: 给http协议申请ssl免费证书,还是比较主流的一种方式,但是...

  • Nginx配置SSL

    必要条件 域名、然后可以在(阿里云、腾讯云)申请免费SSL证书 配置SSL关联到对应域名 一般申请注册阶段就配置好...

  • Universal Links链接跳转APP

    需要域名配置ssl证书,apache配置ssl证书,ssl证书我用的阿里云免费的 apache配置文件(vim /...

  • Lnmp Swoole使用wss协议

    准备工作 申请 SSL 证书,传送 阿里云免费SSL证书申请[https://www.jianshu.com/p/...

  • 如何安装SSL证书到nginx服务器

    已开启ssl安全连接 首先要先申请ssl证书我用的是阿里云的,可以在阿里云ssl证书里边申请免费ssl证书申请ss...

网友评论

      本文标题:申请免费ssl证书并配置

      本文链接:https://www.haomeiwen.com/subject/vkarjctx.html