是不是配置阿里云 SSL 证书时,试了好几次都失败了?重启服务器也没用,看着报错信息一头雾水,急得直挠头?小编前阵子帮朋友的电商网站弄过,他对着教程改了三遍配置,还是显示 “证书无效”,最后发现是个超简单的小问题。今天就把配置失败的常见原因、排查步骤、解决办法,全跟你说透,新手看完也能自己搞定,一起往下看吧!
先看看:证书文件是不是搞错了?
很多时候失败,不是你操作错了,是证书文件下错了或者传错了。
- 下错证书类型:阿里云下载证书时,会让你选服务器类型(Nginx/Apache/IIS 等),比如你用的是 Nginx,却下了 Apache 的证书,文件格式对不上,肯定失败。小编朋友就是下错了,把 Nginx 的下成了 Tomcat 的,改了半天配置也没用,重新下对文件,5 分钟就好了。
- 证书文件没传全:SSL 证书一般有两个文件(比如.key 和.pem),少传一个肯定不行。上传的时候,最好用 FTP 工具(比如 FileZilla),别直接复制粘贴,容易丢字符。有个用户就是手动复制,结果.key 文件少了一行,导致配置失败。
检查方法:打开服务器上的证书文件夹,数数文件数量,再对比阿里云下载的压缩包,少了就重新传,类型不对就重新下载。
配置文件是不是写错了?
配置文件里的小错误,最容易让人忽略,小编总结了几个高频坑:
- 路径写错了:证书文件存在
/usr/local/nginx/ssl/
,配置文件里却写成/usr/nginx/ssl/
,多一个少一个文件夹名,服务器都找不到文件。解决办法:用pwd
命令在证书文件夹里查实际路径,复制粘贴到配置文件里,别手动输。 - 端口没改对:HTTPS 默认用 443 端口,配置文件里要是写成 80(HTTP 端口),肯定不行。Nginx 里要写
listen 443 ssl;
,Apache 里,IIS 里绑定端口选 443,这点千万别弄错。
- 少了中间证书:有些浏览器不认没中间证书的 SSL,阿里云下载的证书里有个 “chain.pem”(Nginx/Apache),得加上。Nginx 配置里加一行
ssl_trusted_certificate /路径/chain.pem;
,Apache 里类似,漏了这行,浏览器可能显示 “证书不完整”。
改完配置文件,别急着重启,先检查语法对不对:Nginx 用nginx -t
,Apache 用httpd -t
,有错会提示在哪一行,对着改就行。
端口是不是没打开?
证书配置对了,端口没开放,照样访问不了。阿里云的服务器,得在安全组里放行 443 端口,不然外部访问进不来。
步骤很简单:登录阿里云控制台,找到你的服务器,点 “安全组配置”,添加入站规则,端口范围填 443,授权对象填 0.0.0.0/0(允许所有人访问),保存。小编朋友之前就是忘了这步,配置完能在服务器内部访问,外部却打不开,改了安全组立马好。
域名验证是不是没通过?
免费证书申请时,域名验证没通过,证书根本没法用。常见的验证失败原因:
- DNS 解析没生效:选了 DNS 验证,却没等解析生效就点 “验证”。解析生效一般要 10-30 分钟,别急,等一会儿再试。
- 文件验证路径错了:选了文件验证,把验证文件传到服务器后,得确保能通过
http://你的域名/.well-known/pki-validation/xxx.txt
访问到,路径错一个字符都不行。可以先用服务器内部的 curl 命令测试,能访问到再点验证。
要是验证总失败,换个验证方式试试,比如自动 DNS 验证比手动文件验证简单,新手优先选这个。
自问自答:这些情况,你可能也碰到过
问:配置完显示 “证书已过期”,但我刚申请的啊?
答:大概率是你上传了旧证书!阿里云申请新证书后,旧证书会显示 “已吊销”,下载的时候注意看日期,别下错了。删了旧文件,传新证书,重启服务器就好。
问:Nginx 重启时报 “ssl parameter requires ssl support”,咋回事?
答:这是因为 Nginx 编译时没加 SSL 模块!得重新编译 Nginx,加上--with-http_ssl_module
参数,或者直接用 yum 安装带 SSL 的版本(yum install nginx-mod-http-ssl
),新手建议后者,简单。
问:配置成功了,浏览器还是提示 “不安全”,但小绿锁亮了,咋回事?
答:这是 “混合内容” 问题 —— 网页里有 HTTP 的图片、JS 文件。把这些链接改成 HTTPS,或者用//
开头(自动适配协议),改完刷新缓存就好了。小编朋友的网站就是有张轮播图用了 HTTP,折腾半天才找到原因。
小编的一点想法
配置 SSL 证书失败,大多不是大问题,就是细节没注意到。耐心点,从证书文件、配置文件、端口、域名验证这几步排查,90% 的问题都能解决。记得改配置前备份文件,错了还能恢复;实在搞不定,阿里云有在线客服,把报错信息发给他们,一般都能指条明路。
朋友最后感慨,原来配置失败不是因为难,是自己太急躁,漏看了步骤。你配置的时候慢点,仔细点,肯定能成,真的。