在京东云服务器上配置SSL证书(实现HTTPS加密)主要分为以下几个步骤,适用于常见的Web服务器(如Nginx、Apache、Tomcat等)。以下是详细操作指南:
一、获取SSL证书
-
购买或申请免费证书
- 京东云提供付费SSL证书(可在控制台购买),也支持上传第三方证书(如Let’s Encrypt、DigiCert等)。
- 免费证书推荐:
- Let’s Encrypt(通过
certbot工具自动获取)。 - 京东云部分套餐可能提供免费DV证书。
- Let’s Encrypt(通过
-
证书文件准备
- 通常包括以下文件(根据颁发机构提供):
- 证书文件(
.crt或.pem) - 私钥文件(
.key) - 证书链文件(
CA bundle,可选,部分机构需要)
- 证书文件(
- 通常包括以下文件(根据颁发机构提供):
二、上传证书到京东云服务器
-
通过控制台上传
- 登录京东云控制台 → 云安全 → SSL证书管理 → 上传证书(填写证书内容和私钥)。
- 绑定到云服务器实例(需关联负载均衡或直接部署到服务器)。
-
手动上传到服务器
- 使用SFTP或SSH将证书文件上传到服务器目录(如
/etc/ssl/):scp /path/to/your-cert.crt root@服务器IP:/etc/ssl/ scp /path/to/your-private.key root@服务器IP:/etc/ssl/
- 使用SFTP或SSH将证书文件上传到服务器目录(如
三、配置Web服务器
1. Nginx 配置示例
server {
listen 443 ssl;
server_name yourdomain.com;
ssl_certificate /etc/ssl/your-cert.crt; # 证书路径
ssl_certificate_key /etc/ssl/your-private.key; # 私钥路径
# 可选:增强安全性
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';
ssl_prefer_server_ciphers on;
# 其他配置...
location / {
root /var/www/html;
index index.html;
}
}
# 强制HTTP跳转到HTTPS
server {
listen 80;
server_name yourdomain.com;
return 301 https://$host$request_uri;
}
- 重启Nginx:
sudo nginx -t # 测试配置 sudo systemctl restart nginx
2. Apache 配置示例
<VirtualHost *:443>
ServerName yourdomain.com
SSLEngine on
SSLCertificateFile /etc/ssl/your-cert.crt
SSLCertificateKeyFile /etc/ssl/your-private.key
SSLCertificateChainFile /etc/ssl/ca-bundle.crt # 如有证书链需配置
# 其他配置...
</VirtualHost>
# 强制HTTPS
<VirtualHost *:80>
Redirect permanent / https://yourdomain.com/
</VirtualHost>
- 重启Apache:
sudo apachectl configtest sudo systemctl restart apache2
3. Tomcat 配置(Java项目)
修改conf/server.xml,添加以下内容:
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateFile="/etc/ssl/your-cert.crt"
certificateKeyFile="/etc/ssl/your-private.key"
type="RSA" />
</SSLHostConfig>
</Connector>
- 重启Tomcat:
./bin/shutdown.sh && ./bin/startup.sh
四、验证SSL配置
- 浏览器访问
- 打开
https://yourdomain.com,确认锁图标正常无警告。
- 打开
- 在线工具检测
- 使用 SSL Labs 测试证书配置安全性。
五、自动续签(如Let’s Encrypt)
若使用Let’s Encrypt证书,可通过certbot设置自动续签:
sudo certbot renew --dry-run # 测试续签
sudo crontab -e # 添加定时任务(每月续签)
0 0 1 * * /usr/bin/certbot renew --quiet
常见问题
- 证书不信任
- 确保证书链完整(尤其是中间证书)。
- Nginx报错
SSL_CTX_use_PrivateKey- 检查私钥是否与证书匹配:
openssl x509 -noout -modulus -in cert.crt | openssl md5和openssl rsa -noout -modulus -in private.key | openssl md5,结果需一致。
- 检查私钥是否与证书匹配:
- 端口未开放
- 确保安全组/防火墙放行
443端口(京东云控制台→安全组→添加入站规则)。
- 确保安全组/防火墙放行
通过以上步骤,即可完成京东云服务器的SSL证书配置。如有特殊环境(如CDN、负载均衡),需在对应服务中单独配置证书。
云服务器