使用Nginx内置的nginx -t命令验证配置文件语法是否正确,这是确保SSL配置无语法错误的第一步。若输出显示“syntax is ok”且“test is successful”,则说明配置文件语法无误;若有错误,需根据提示定位并修正(如路径拼写错误、缺少分号等)。
ssl_certificate(证书文件,如/etc/nginx/ssl/example.com.crt)和ssl_certificate_key(私钥文件,如/etc/nginx/ssl/example.com.key)的路径配置正确,且文件存在于指定目录。openssl x509 -noout -modulus -in /path/to/certificate.crt | openssl md5
openssl rsa -noout -modulus -in /path/to/private.key | openssl md5
使用浏览器访问https://yourdomain.com,观察地址栏是否显示安全锁标志(绿色表示配置正确),并检查是否有“证书无效”“不安全连接”等错误提示。浏览器会自动验证证书的有效性(如有效期、颁发者可信度),是最直观的验证方式。
curl -v https://yourdomain.com命令查看详细的SSL握手过程,重点关注“SSL handshake”是否成功、“证书链”是否完整(如是否有中间证书)、“协商的协议版本”(如TLSv1.2/1.3)是否符合预期。openssl x509 -in /path/to/certificate.crt -text -noout命令查看证书的颁发者、有效期、域名匹配情况(Subject Alternative Name,SAN)、公钥算法等信息,确保证书配置正确。通过SSL Labs(如Qualys SSL Labs的SSL Server Test)等在线工具输入域名,获取详细的SSL配置报告。工具会检查以下内容:
若上述步骤无法定位问题,查看Nginx错误日志(通常位于/var/log/nginx/error.log)能获取更详细的错误信息。常见错误包括:
600,证书文件为644);cat server.crt intermediate.crt > fullchain.crt);listen 443 ssl指令)。确保服务器防火墙(如UFW、iptables)允许443端口的入站流量。以UFW为例,使用以下命令检查和开启端口:
sudo ufw status # 查看防火墙状态
sudo ufw allow 443/tcp # 允许HTTPS流量