1、简述
在现代互联网应用中,使用 HTTPS 连接是确保数据传输安全的基本需求。SSL/TLS 证书能够加密客户端与服务器之间的通信,防止中间人攻击等安全隐患。而许多开发者和小型企业可能会担心 SSL 证书的费用问题。幸运的是,FreeSSL 提供了一个简单易用的平台,允许我们申请免费的 SSL 证书。本文将详细介绍如何使用 FreeSSL 申请免费 SSL 证书,并在你的服务器上安装它。
2、申请证书的步骤
FreeSSL 是一个 SSL 证书申请平台,基于 Let's Encrypt 提供的免费 SSL 证书服务。它简化了证书申请流程,让开发者和网站管理员更轻松地获取和安装 SSL 证书,保障网站的安全性。
2.1 注册并登录 FreeSSL 网站
首先,访问 FreeSSL 网站,注册一个账号并登录。如果你已经有账号,可以直接登录。
2.2 域名授权
在证书自动化里面,选择“域名授权”,点击“添加域名”。
2.3 域名验证
前往域名托管商(阿里云、腾讯云等),添加解析记录,填入验证信息,点击提交:
进入 FreeSSL 平台,点击“配置完成,立即检测”,域名状态显示“验证通过”。
2.4 申请证书
域名验证成功后,FreeSSL 会生成 SSL 证书。你可以下载证书文件,一般包含以下内容:
- 证书文件 (CRT):主 SSL 证书。
- 中间证书 (CA Bundle):中间证书链。
- 私钥 (Private Key):证书对应的私钥。
在您的机器上安装ACME客户端:acme.sh,可以通过官方地址下载:
curl https://get.acme.sh | sh -s email=my@example.com
或者通过备用地址下载:
curl https://gitcode.net/cert/cn-acme.sh/-/raw/master/install.sh?inline=false | sh -s email=my@example.com
安装完成后,通过以上申请证书指令申请证书:
./acme.sh --issue -d tt-ww.cn --dns dns_dp --server https://acme.freessl.cn/v2/DV90/directory/w0gifyt89fip1jnk6bmw
3、安装 SSL 证书
根据你使用的服务器环境,安装 SSL 证书的方式会有所不同。这里以 NGINX 和 Apache 为例,介绍如何配置这些证书。
3.1 NGINX 安装 SSL 证书
将下载的证书文件和私钥文件上传到服务器的指定目录。例如 /etc/nginx/ssl/:
./acme.sh --install-cert -d lsk-ww.cn --key-file /etc/nginx/ssl/tt-ww.key --fullchain-file /etc/nginx/ssl/tt-ww.pem --reloadcmd "docker restart nginx"
根据证书的位置来更改NGINX的配置文件:
server {
listen 443 ssl;
server_name tt-ww.cn www.tt-ww.cn;
ssl_certificate /usr/local/nginx/ssl/tt-ww.pem;
ssl_certificate_key /usr/local/nginx/ssl/tt-ww.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
client_max_body_size 1024m;
location / {
proxy_pass http://halo;
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
编辑好配置,保存重启NGINX,要确认当前证书路径是否有映射到容器中:
docker run -d -p 80:80 -p 443:443 --name nginx \
-v /etc/nginx/www:/usr/share/nginx/html \
-v /etc/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /etc/nginx/logs:/var/log/nginx \
-v /etc/nginx/ssl:/usr/local/nginx/ssl \
nginx:latest
#重启nginx
sudo systemctl reload nginx
3.2 Apache 安装 SSL 证书
将证书文件和私钥上传到服务器,例如 /etc/apache2/ssl/,编辑 Apache 配置文件:
<VirtualHost *:443>
ServerName yourdomain.com
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/tt-ww.crt
SSLCertificateKeyFile /etc/apache2/ssl/tt-ww.key
SSLCertificateChainFile /etc/apache2/ssl/ca_bundle.crt
# 其他配置
</VirtualHost>
保存并重新加载 Apache 配置:
sudo apachectl configtest
sudo systemctl reload apache2
4、证书自动续期
Let's Encrypt 的免费证书有效期为 90 天,因此你需要确保证书能及时续期。FreeSSL 提供了自动续期功能,但你也可以手动使用 Certbot 来配置自动续期任务。
安装 Certbot:
sudo apt install certbot
certbot 申请证书命令:
certbot certonly --work-dir $(pwd) --logs-dir $(pwd) --config-dir $(pwd) --manual tt-ww.cn --server https://acme.freessl.cn/v2/DV90/directory/w0gifyt89fip1jnk6bmw
配置自动续期任务:
sudo certbot renew --dry-run
5、总结
通过 FreeSSL 申请免费的 SSL 证书是一个简便、有效的方式,不仅能节省费用,还能提高网站的安全性。在本文中,我们详细介绍了如何通过 FreeSSL 申请证书,并在 NGINX 和 Apache 服务器上安装它。希望这篇指南能帮助你轻松完成 SSL 证书的申请与配置。
评论区