IT评测·应用市场-qidao123.com
标题:
怎样启用 HTTPS 并配置免费的 SSL 证书
[打印本页]
作者:
半亩花草
时间:
2025-3-18 16:34
标题:
怎样启用 HTTPS 并配置免费的 SSL 证书
引言
HTTPS 已成为现代网站安全性的基础要求。通过 SSL/TLS 证书对数据进行加密,不但可以保护用户隐私,还能提升搜刮引擎排名并加强用户信任。本指南将详细介绍怎样通过
Let's Encrypt
(免费、自动化的证书颁发机构)为您的网站启用 HTTPS,并涵盖主流服务器(Nginx/Apache/IIS/Tomcat)的配置方法。
一、预备工作
域名所有权
确保已拥有一个已剖析到服务器 IP 的域名(如 example.com)。
服务器权限
需具备服务器的 root 或管理员权限。
开放端口
确保服务器防火墙开放
80(HTTP)
和
443(HTTPS)
端口。
二、获取免费 SSL 证书(Let's Encrypt)
方法 1:利用 Certbot 自动化工具(推荐)
Certbot
是 Let's Encrypt 官方推荐的证书管理工具,支持自动申请和续期。
bash
复制
# 安装 Certbot(以 Ubuntu 为例)
sudo apt update
sudo apt install certbot
# 申请证书(适用于 Nginx/Apache)
sudo certbot certonly --nginx # 如果使用 Nginx
sudo certbot certonly --apache # 如果使用 Apache
# 手动模式(适用于其他服务器)
sudo certbot certonly --manual --preferred-challenges dns -d example.com -d www.example.com
复制代码
证书路径:/etc/letsencrypt/live/example.com/
包含以下关键文件:
fullchain.pem: 证书链
privkey.pem: 私钥
方法 2:手动生成证书(适用于高级用户)
生成 CSR(证书署名请求)和私钥:
bash
复制
openssl req -new -newkey rsa:2048 -nodes -keyout example.com.key -out example.com.csr
复制代码
通过 Let's Encrypt 或其他 ACME 客户端完成域名验证(DNS 或 HTTP 验证)。
三、配置服务器 SSL 证书
1. Nginx 配置示例
编辑站点配置文件(如 /etc/nginx/sites-available/example.com):
nginx
复制
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
# 启用 TLS 1.3 和现代加密套件
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
ssl_prefer_server_ciphers on;
# 其他配置...
}
# 强制 HTTP 跳转到 HTTPS
server {
listen 80;
server_name example.com;
return 301 https://$host$request_uri;
}
复制代码
重启服务:
bash
复制
sudo systemctl restart nginx
复制代码
2. Apache 配置示例
编辑虚拟主机文件(如 /etc/apache2/sites-available/example.com.conf):
apache
复制
<VirtualHost *:443>
ServerName example.com
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
# 启用 HSTS
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains"
</VirtualHost>
# 重定向 HTTP 到 HTTPS
<VirtualHost *:80>
ServerName example.com
Redirect permanent / https://example.com/
</VirtualHost>
复制代码
启用模块并重启:
bash
复制
sudo a2enmod ssl
sudo systemctl restart apache2
复制代码
3. IIS 配置(Windows Server)
打开
IIS 管理器
→ 选择站点 →
绑定
→ 添加 HTTPS 绑定。
导入证书:
将 fullchain.pem 和 privkey.pem 合并为 PFX 格式:
bash
复制
openssl pkcs12 -export -out certificate.pfx -inkey privkey.pem -in fullchain.pem
复制代码
在 IIS 中选择导入的 PFX 文件,并设置密码。
4. Tomcat 配置(Java 环境)
编辑 server.xml:
xml
复制
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateFile="/path/to/fullchain.pem"
certificateKeyFile="/path/to/privkey.pem"
type="RSA" />
</SSLHostConfig>
</Connector>
复制代码
运行 HTML
四、证书自动续期
Let's Encrypt 证书有用期为
90 天
,需定期续期。
bash
复制
# 测试续期命令
sudo certbot renew --dry-run
# 添加定时任务(crontab -e)
0 3 * * * /usr/bin/certbot renew --quiet
复制代码
五、验证与故障排除
在线检测工具
SSL Labs Test
Why No Padlock?
常见错误
证书不信任
:确包管书链完备(包含中心证书)。
混合内容告诫
:页面内资源(如图片、JS)必须全部利用 HTTPS。
端口冲突
:确保没有其他进程占用 80/443 端口。
六、总结
通过 Let's Encrypt 和自动化工具,您可以零成本实现 HTTPS 的部署。定期查抄证书状态、启用 HSTS 和保持加密套件的更新是维持安全性的关键步骤。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/)
Powered by Discuz! X3.4