IT评测·应用市场-qidao123.com

标题: 怎样启用 HTTPS 并配置免费的 SSL 证书 [打印本页]

作者: 半亩花草    时间: 2025-3-18 16:34
标题: 怎样启用 HTTPS 并配置免费的 SSL 证书

引言

HTTPS 已成为现代网站安全性的基础要求。通过 SSL/TLS 证书对数据进行加密,不但可以保护用户隐私,还能提升搜刮引擎排名并加强用户信任。本指南将详细介绍怎样通过 Let's Encrypt(免费、自动化的证书颁发机构)为您的网站启用 HTTPS,并涵盖主流服务器(Nginx/Apache/IIS/Tomcat)的配置方法。

一、预备工作


二、获取免费 SSL 证书(Let's Encrypt)

方法 1:利用 Certbot 自动化工具(推荐)

Certbot 是 Let's Encrypt 官方推荐的证书管理工具,支持自动申请和续期。
bash
复制
  1. # 安装 Certbot(以 Ubuntu 为例)
  2. sudo apt update
  3. sudo apt install certbot
  4. # 申请证书(适用于 Nginx/Apache)
  5. sudo certbot certonly --nginx      # 如果使用 Nginx
  6. sudo certbot certonly --apache     # 如果使用 Apache
  7. # 手动模式(适用于其他服务器)
  8. sudo certbot certonly --manual --preferred-challenges dns -d example.com -d www.example.com
复制代码

方法 2:手动生成证书(适用于高级用户)


三、配置服务器 SSL 证书

1. Nginx 配置示例

编辑站点配置文件(如 /etc/nginx/sites-available/example.com):
nginx
复制
  1. server {
  2.     listen 443 ssl;
  3.     server_name example.com;
  4.     ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
  5.     ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
  6.     # 启用 TLS 1.3 和现代加密套件
  7.     ssl_protocols TLSv1.2 TLSv1.3;
  8.     ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
  9.     ssl_prefer_server_ciphers on;
  10.     # 其他配置...
  11. }
  12. # 强制 HTTP 跳转到 HTTPS
  13. server {
  14.     listen 80;
  15.     server_name example.com;
  16.     return 301 https://$host$request_uri;
  17. }
复制代码
重启服务:
bash
复制
  1. sudo systemctl restart nginx
复制代码
2. Apache 配置示例

编辑虚拟主机文件(如 /etc/apache2/sites-available/example.com.conf):
apache
复制
  1. <VirtualHost *:443>
  2.     ServerName example.com
  3.     SSLEngine on
  4.     SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
  5.     SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
  6.     # 启用 HSTS
  7.     Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains"
  8. </VirtualHost>
  9. # 重定向 HTTP 到 HTTPS
  10. <VirtualHost *:80>
  11.     ServerName example.com
  12.     Redirect permanent / https://example.com/
  13. </VirtualHost>
复制代码
启用模块并重启:
bash
复制
  1. sudo a2enmod ssl
  2. sudo systemctl restart apache2
复制代码
3. IIS 配置(Windows Server)

4. Tomcat 配置(Java 环境)

编辑 server.xml:
xml
复制
  1. <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
  2.            maxThreads="150" SSLEnabled="true">
  3.     <SSLHostConfig>
  4.         <Certificate certificateFile="/path/to/fullchain.pem"
  5.                      certificateKeyFile="/path/to/privkey.pem"
  6.                      type="RSA" />
  7.     </SSLHostConfig>
  8. </Connector>
复制代码
运行 HTML

四、证书自动续期

Let's Encrypt 证书有用期为 90 天,需定期续期。
bash
复制
  1. # 测试续期命令
  2. sudo certbot renew --dry-run
  3. # 添加定时任务(crontab -e)
  4. 0 3 * * * /usr/bin/certbot renew --quiet
复制代码

五、验证与故障排除


六、总结

通过 Let's Encrypt 和自动化工具,您可以零成本实现 HTTPS 的部署。定期查抄证书状态、启用 HSTS 和保持加密套件的更新是维持安全性的关键步骤。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4