面试题答案
一键面试证书过期错误
- 排查方法:检查证书的有效期,可通过openssl工具查看证书详细信息。在命令行输入
openssl x509 -noout -dates -in [证书文件名]
,确认证书是否已过期。若过期,需向证书颁发机构重新申请证书并更新到服务器。
证书链不完整错误
- 排查方法:使用openssl工具验证证书链。命令
openssl verify -CAfile [CA证书文件路径] [待验证证书路径]
,若提示证书链验证失败,可能缺少中间证书。需获取完整的证书链,从证书颁发机构获取中间证书,并配置到服务器与服务器证书一同使用。
服务器名称指示(SNI)不匹配错误
- 排查方法:确认客户端请求的域名与服务器配置的域名是否一致。可在服务器端日志中查看客户端请求的信息,特别关注Host头信息。若不一致,检查服务器配置文件,如Nginx的配置文件,确保
server_name
配置的是正确的域名。
端口未开放错误
- 排查方法:使用
telnet
或nmap
工具检查SSL连接所使用的端口(如443)是否开放。telnet [服务器IP] [端口号]
,若无法连接,检查服务器防火墙设置,确保对应的端口已开放;若使用云服务器,还需检查云平台的安全组规则,开放相应端口。
密码套件不匹配错误
- 排查方法:在服务器端查看支持的密码套件配置。以Apache为例,可在
httpd.conf
文件中查看SSLCipherSuite
配置项。同时,在客户端尝试指定不同的密码套件进行连接测试,如在curl命令中使用--ciphers
选项指定密码套件。若发现不匹配,调整服务器端或客户端的密码套件设置,使其兼容。