美文网首页
配置免费SSL证书

配置免费SSL证书

作者: 2025丶10丶16 | 来源:发表于2021-09-08 16:16 被阅读0次

第一步、安装snapd

安装

sudo yum install epel-release snapd -y
sudo systemctl enable --now snapd.socket

设置软链接将源文件(/var/lib/snapd/snap)软链接到目标文件(/snap)

sudo ln -s /var/lib/snapd/snap /snap

第二步、删除旧的Certbot(如果初次安装,则跳过这步)

sudo apt-get remove certbot 

sudo dnf remove certbot

sudo yum remove certbot.

第三步、通过 snapd 安装 Certbot

安装

sudo snap install --classic certbot

添加软链接

sudo ln -s /snap/bin/certbot /usr/bin/certbot

第四步、添加 SSL 证书(大部分错误会发生在这一步)

1、指定Nginx目录

sudo certbot --nginx --nginx-server-root=/usr/local/nginx/conf

执行后可能遇到错误:

Could not choose appropriate plugin: The nginx plugin is not working; there may be problems with your existing configuration.
The error was: NoInstallationError("Could not find a usable 'nginx' binary. Ensure nginx exists, the binary is executable, and your PATH is set correctly.",)

一般是由于没有将nginx放到环境变量中
解决方法:设置nginx软连接

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

设置完后重新执行

sudo certbot --nginx --nginx-server-root=/usr/local/nginx/conf

可能会遇到错误:

Could not choose appropriate plugin: The nginx plugin is not working; there may be problems with your existing configuration.
The error was: PluginError('Nginx build is missing SSL module (--with-http_ssl_module).',)

发现是没有安装ssl模板导致的


1.png

找到nginx文件夹下执行:

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

解决后重新执行:

sudo certbot --nginx --nginx-server-root=/usr/local/nginx/conf

出现以下输入邮箱的提示,表示上述问题解决


image.png

接着按照提示输入


image.png
可以看到最后虽然证书申请成功,但是并没有安装成功,根据提示“server_name”没设置好,找到nginx配置文件nginx.conf,将此处原本的location改为想要配置的域名
image.png

保存后reload一下nginx配置:

/usr/local/nginx/sbin/nginx -s reload

然后重新执行一下,就可以看到证书安装成功:


image.png

生成的证书默认会出现在/etc/letsencrypt/live文件夹下

第五步、生成DH密钥交换协议

openssl dhparam -out /etc/ssl/certs/dhparams.pem 2048

第六步、nginx配置https

进入nginx.conf可以看到有https server的注释


image.png

按照注释配置即可:

server {
        listen 443 ssl;
        server_name localhost;
        location / {
            root html;
            index index.html index.htm;
        }
        ssl_certificate     /etc/letsencrypt/live/www.linkk.top/fullchain.pem;  
        ssl_certificate_key /etc/letsencrypt/live/www.linkk.top/privkey.pem;     
        ssl_dhparam /etc/ssl/certs/dhparams.pem;
        ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on;
    }

保存后重启nginx(注意这里不是reload)

# 停止
nginx -s stop
# 启动
nginx

重启后https若无法访问可以检查一下云服务器的安全组配置443端口入方向是否开启

相关文章

网友评论

      本文标题:配置免费SSL证书

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