关于nginx:nginx使用certbot免费ssl证书https很简单

50次阅读

共计 1553 个字符,预计需要花费 4 分钟才能阅读完成。

很早就申请了很多域名,然而拜访起来浏览器老是显示一个不平安,看着真的是不爽,因为本人的网站也没什么内容就没配置 https, 次要还是看了网上的教程退缩了,感觉比拟麻烦。很多证书还要钱,本人也就学习性质地做个网站,所以就没搞,
明天灵机一动就配置了一下,发现真的挺简略的,而且收费,本人学习玩玩够了,在这里记录一下。

1. 装置 nginx

nginx 的装置在这里就不多说了,能够应用

yum install nginx

也能够编译装置,在这里就不多说了,要留神的一点是要装置 ssl 模块

2. 装置 certbot

官网的教程是 snap 装置的,我就是这样装置的。

1. 装置 snap
sudo yum install epel-release
sudo yum install snapd
sudo systemctl enable --now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap

这几步下来个别是不会出错的,这样 sanp 就装置好了

2. 装置 certbot
sudo snap install core
sudo snap refresh core

如果之前装过 certbot 的话要先卸载

sudo yum remove certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
sudo certbot --nginx

或者

sudo certbot certonly --nginx

这里会提醒输出邮箱和域名,还要批准协定,胜利后会有你证书的贮存地址

sudo certbot renew --dry-run

最初这步是测验

3. 配置 nginx

进入 vim nginx/conf/nginx.conf, 找到 443 端口的局部,记得放开 443 端口

 server {
        listen       443 ssl;
        server_name  akazwz.com;

        ssl_certificate      /etc/letsencrypt/live/akazwz.com/fullchain.pem;
        ssl_certificate_key  /etc/letsencrypt/live/akazwz.com/privkey.pem;

        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;
        }
    }

这是我的配置,贴在这里大家参考一下

4. 重启失效

systemctl stop nginx
systemctl start nginx
systemctl status nginx

这时拜访你的网站,就会是 https 了。

5. 配置主动续签

收费的吗,certbot 是须要定期续的,所以咱们设置个定时工作

echo "0 0 1,8,20 * * root python -c'import random; import time; time.sleep(random.random() * 3600)'&& certbot renew" | sudo tee -a /etc/crontab > /dev/null

这样的话就实现了,然而两头会呈现谬误,一个是提醒找不到 nginx,设置个软连贯就能够解决

ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
ln -s /usr/local/nginx/conf/ /etc/nginx

还有个谬误提醒没有装置 ssl 模块,这个在装置 nginx 的时候要留神,编译装置的话能够进入安装包输出以下命令:

./configure --with-http_ssl_module
make && make install

这样的话就装置上了 ssl 模块。
这里就记录到这。

正文完
 0