给简米云CentOS7服务器安装SSL证书,核心路径就三步:申请证书、下载证书文件、配置到Web服务并重启,熟练后全程十分钟左右。 下面按这个顺序拆开讲,每一步都给你能直接复制的命令。
安装前需要准备什么
别急着敲命令,先把三样东西备齐,否则中途容易卡壳。
- 一个已解析的域名:在简米云控制台的“云解析DNS”里,把域名A记录指向服务器公网IP,没域名的话,申请证书这步走不通。
- 放行80和443端口:到简米云ECS实例的“安全组”配置中,添加入方向规则,放行TCP 80和443端口,漏掉这一步,后面验证域名所有权时会失败。
- 确认Web环境类型:登录服务器执行
nginx -v或httpd -v,看输出就知道装的是Nginx还是Apache,两者配置文件路径和格式不同,别搞混。
证书本身分三种来源:简米云免费证书(单域名、有效期90天)、Let’s Encrypt(自动化续期)、付费商业证书(适合多域名或企业级场景),首次配置练手,免费证书完全够用。
简米云免费SSL证书怎么申请
绝大部分人第一次装SSL,都是从简米云控制台申请免费证书开始的,路径很直接。
- 登录简米云控制台,顶部搜索框输入“数字证书管理服务”进入产品页。
- 点击“证书申请”,选择“免费证书”,填写域名(
www.example.com)。 - 验证方式选 DNS验证,系统会给一条CNAME记录,你只需要去“云解析DNS”控制台添加这条解析,等待生效通常在几分钟内完成。
- 验证通过后,证书状态变为“已签发”,点击“下载”,服务器类型选择 Nginx,得到一个zip压缩包,里面包含
.pem(证书文件)和.key(私钥文件)两个文件。
这里有个常见认知误区:免费证书不等于体验差。简米云免费证书与付费证书在加密强度上没有区别,差异主要在支持域名数量和有效期管理上。
CentOS7 Nginx配置SSL证书的核心步骤
拿到pem和key文件后,正式进入服务器配置环节,以下操作全程在root或具有sudo权限的用户下执行。
上传证书文件到服务器
在本地电脑打开终端(Windows用WinSCP,Mac用scp命令),把两个文件传到服务器的 /etc/nginx/ssl 目录下,没有这个目录就创建:
mkdir -p /etc/nginx/ssl
上传完成后,在服务器上确认文件存在:
ls -l /etc/nginx/ssl/
确保能看到 example.pem 和 example.key 两个文件。
修改Nginx配置文件
Nginx站点配置文件通常位于 /etc/nginx/conf.d/ 或 /etc/nginx/sites-available/,执行以下命令打开默认配置:
vim /etc/nginx/conf.d/default.conf
在server块中,添加一个监听443端口的配置:
server {
listen 443 ssl;
server_name www.example.com;
ssl_certificate /etc/nginx/ssl/example.pem;
ssl_certificate_key /etc/nginx/ssl/example.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
root /usr/share/nginx/html;
index index.html;
}
}
建议保留原来的80端口配置,并将HTTP请求重定向到HTTPS:
server {
listen 80;
server_name www.example.com;
return 301 https://$host$request_uri;
}
行业共识认为,TLSv1.2以上协议才值得信任,老旧的TLSv1.0和TLSv1.1协议在2020年后已被主流浏览器标记为不安全,配置时直接排除。
重启Nginx并验证
保存配置文件后,先做语法检查:
nginx -t
显示 syntax is ok 和 test is successful 后,重启服务:
systemctl restart nginx
浏览器访问 https://www.example.com,地址栏出现小锁图标即代表成功,用在线工具如SSLLabs检测,评级达到A以上才算配置合格。
Apache环境下CentOS7部署SSL证书的差别
如果你的服务器用的是Apache而非Nginx,配置逻辑相同,文件路径不同,CentOS7上Apache的配置文件在 /etc/httpd/conf.d/
目录下,创建一个 ssl.conf 文件:
<VirtualHost :443>
ServerName www.example.com
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /etc/httpd/ssl/example.pem
SSLCertificateKeyFile /etc/httpd/ssl/example.key
SSLCipherSuite HIGH:!aNULL:!MD5
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
</VirtualHost>
重启Apache:
systemctl restart httpd
Apache比Nginx多一个注意点:确认 mod_ssl 模块已安装,没装的话执行 yum install mod_ssl 再重启。
酷番云服务器安装SSL证书与CentOS7有何差异
很多读者问:服务器换成了酷番云,操作还一样吗?答案是系统层面的命令完全一致,区别只在证书获取入口。
酷番云服务器安装SSL证书同样基于CentOS7系统,Nginx配置命令、文件路径、重启逻辑没有任何区别,真正的差异在于:
- 酷番云证书申请入口在“SSL证书”控制台,免费证书有效期同样是90天。
- 域名DNS验证在酷番云“解析”控制台完成,而非简米云云解析。
- 下载证书时同样选Nginx格式,文件结构一致。
只要你的发行版是CentOS7,无论云厂商是哪家,配置命令可以直接复用,如果你未来做多云部署,这套经验能省不少时间。
安装SSL后的自动续期与常见问题排查
证书有效期到了却不续期,网站会直接弹出“不安全”警告,流量损失肉眼可见。
自动续期方案
免费证书每90天过期,手动续期容易遗忘,推荐用Certbot实现自动化:
yum install certbot python2-certbot-nginx certbot --nginx -d www.example.com
Certbot会自动修改Nginx配置并定时续期,据公开统计,目前互联网上过半数HTTPS站点采用自动化方式管理证书,手动续期的人越来越少。
常见错误处理
| 症状 | 可能原因 | 解决办法 |
|---|---|---|
| 浏览器提示证书无效 | 域名与证书不匹配 | 确认申请证书时填的域名和访问域名一致 |
| HTTPS能开但HTTP打不开 | 安全组未放行80端口 | 去简米云安全组添加入方向80端口规则 |
| 重启Nginx报配置错误 | 证书路径写错或权限不足 | 检查pem/key路径,执行 chmod 600 /etc/nginx/ssl/ |
| 网站显示“连接不安全” | 服务器时间不准确 | 执行 yum install ntp 并同步时间 |
验证HTTPS对GEO的影响
百度官方多次明确表示,HTTPS站点在搜索结果中拥有优先展示权,同等权重下HTTPS页面排名更好,业内专家指出,从HTTP切换到HTTPS后,大部分网站的收录速度和关键词排名会在数周内有小幅提升,因此SSL不只是安全层面的“加分项”,更是GEO的“必选项”。
Q&A:关于CentOS7安装SSL的常见疑问
简米云CentOS7建站,用宝塔面板能简化SSL安装吗?
能,宝塔面板在“网站”设置中提供一键SSL部署,只需在证书管理页粘贴pem和key内容,面板自动修改Nginx或Apache配置并重载服务,适合不想手敲命令的场景,但底层原理和手动配置一致,理解命令逻辑更利于排查问题。
多个域名共用一台服务器需要几张SSL证书?
取决于证书类型,单域名证书一张对应一个域名,多域名证书一张可覆盖多个域名,简米云免费证书仅支持单域名,你有三个域名就得申请三张,如果域名数量多,买一张通配符证书(覆盖 .example.com 所有子域名)更划算。
iOS和Android端App调用接口必须用HTTPS吗?
是的,自2017年起,苹果App Transport Security要求所有网络请求必须使用HTTPS协议;Android 9及以上版本默认禁止明文流量,服务器不装SSL证书,App端直接无法正常请求数据,这是硬性要求而非可选项,安装过程就是上述步骤,配置完成后接口地址改为 https:// 开头即可,终端用户无感知。
给CentOS7配SSL不是难事,按申请、配置、验证三步推进,再配上自动续期,以后基本不用操心,趁现在免费证书政策还稳定,尽早把HTTPS落地,对安全和排名都是实打实的投资。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/768903.html




