温馨提示×

如何测试debian nginxssl

小樊
43
2026-09-26 21:10:42
栏目: 云计算

下面分**“测试 Debian 上 Nginx 的 SSL 配置是否正确、是否生效”来说明,包含本地测试 + 远程测试 + 排错思路**。


一、前提确认

1. 确认 Nginx 已安装并运行

systemctl status nginx

或

nginx -v

2. 确认 SSL 已配置

一般配置文件在:

/etc/nginx/sites-enabled/
/etc/nginx/nginx.conf

SSL 关键配置示例:

listen 443 ssl;
ssl_certificate /etc/ssl/certs/example.com.crt;
ssl_certificate_key /etc/ssl/private/example.com.key;

修改后测试配置:

nginx -t

重载:

systemctl reload nginx

二、本地测试 SSL(服务器上)

1. 测试 443 端口是否监听

ss -tlnp | grep 443

或

netstat -tlnp | grep 443

2. 使用 curl 测试 HTTPS

curl -I https://localhost

或指定域名:

curl -I https://example.com

忽略证书错误(自签证书):

curl -k https://localhost

3. 查看证书信息

openssl s_client -connect localhost:443

查看证书有效期:

echo | openssl s_client -connect localhost:443 2>/dev/null | openssl x509 -noout -dates

三、远程测试 SSL(其他机器)

1. 浏览器测试

访问:

https://你的域名

看是否:

  • 显示小锁
  • 无证书警告

2. 命令行测试(另一台 Linux / macOS)

curl -I https://你的域名

3. 在线 SSL 检测(推荐)

  • https://www.ssllabs.com/ssltest/
  • https://myssl.com/

可检测:

  • 证书链
  • 协议支持
  • 安全评分

四、常见 SSL 测试失败原因

1. 防火墙未放行 443

ufw allow 443/tcp

或

iptables -L

2. 证书路径错误

nginx -t

常见错误:

SSL_CTX_use_PrivateKey_file failed

3. 自签证书不被信任

  • 浏览器会警告
  • 可用 -k 忽略(仅测试)

4. 只监听了 80

确认有:

listen 443 ssl;

五、快速自检清单 ✅

  • [ ] nginx -t 无错误
  • [ ] 443 端口已监听
  • [ ] curl https://域名 正常
  • [ ] 证书未过期
  • [ ] 防火墙放行 443

如果你愿意,可以告诉我:

  • 是 自签证书 / Let’s Encrypt / 商业证书
  • 域名能否公网访问
  • 报错信息(如果有)

我可以直接帮你定位问题。

0 踩