一、SSL证书的获取与验证
为启用HTTPS协议,需先获取有效的SSL证书。推荐两种方式:
- 购买商业证书:选择权威机构(如Symantec、Comodo)提供的域名验证型或扩展验证型证书,需通过域名所有权验证流程。
- 免费证书申请:使用Let’s Encrypt工具自动签发证书,有效期90天且支持自动续期。
证书文件通常包含.crt
(公钥)和.key
(私钥)文件,需通过SFTP上传至服务器的安全目录,例如/etc/ssl/certs
和/etc/ssl/private
。
二、443端口配置与防火墙设置
确保服务器防火墙放行443端口流量,以Linux系统为例:
sudo ufw allow 443/tcp
sudo ufw reload
同时需在服务器安全组中配置入站规则,允许HTTPS协议的TCP 443端口访问。
三、Web服务器配置示例
Nginx配置
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/ssl/certs/example.com.crt;
ssl_certificate_key /etc/ssl/private/example.com.key;
ssl_protocols TLSv1.2 TLSv1.3;
# 其他站点配置...
}
建议添加HTTP到HTTPS的强制跳转规则:
Apache配置
SSLEngine on
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key
# 其他站点配置...
需启用mod_ssl
模块并重启服务生效。
四、安全加固与连接测试
完成基础配置后,建议实施以下安全措施:
- 禁用不安全的SSL协议(如SSLv2/SSLv3),仅启用TLSv1.2及以上版本
- 配置加密套件优先级,例如:
ECDHE-ECDSA-AES128-GCM-SHA256
- 启用HSTS头部强制浏览器使用HTTPS:
add_header Strict-Transport-Security "max-age=31536000"
测试建议:
- 通过浏览器访问
https://域名
,确认锁形图标正常显示 - 使用SSL Labs在线工具检测证书链完整性和协议兼容性