温馨提示×

如何验证Debian Nginx SSL

小樊
36
2026-10-17 08:30:45
栏目: 云计算

在 Debian 上验证 Nginx 的 SSL 配置是否正常工作,可以从本地配置检查、证书有效性、端口监听、外部访问、协议与安全性几个方面来做。下面按实用步骤说明。


一、检查 Nginx 配置是否正确

1. 测试配置文件语法

sudo nginx -t

正常输出应类似:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

2. 重新加载 Nginx

sudo systemctl reload nginx

二、确认 Nginx 正在监听 443 端口

sudo ss -tulnp | grep nginx

或

sudo netstat -tulnp | grep nginx

应看到:

LISTEN 0 128 0.0.0.0:443
LISTEN 0 128 :::443

三、检查 SSL 证书文件

常见路径(以 Let’s Encrypt 为例):

/etc/letsencrypt/live/example.com/fullchain.pem
/etc/letsencrypt/live/example.com/privkey.pem

Nginx 配置中应有:

ssl_certificate     /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

检查证书有效期:

sudo openssl x509 -in /etc/letsencrypt/live/example.com/fullchain.pem -noout -dates

四、本地验证 HTTPS 是否可用

1. 使用 curl(本机)

curl -I https://localhost

或

curl -v https://yourdomain.com

无证书错误即基本正常。

2. 忽略域名解析(测试 IP)

curl -k https://服务器IP

五、外部网络验证(从其他机器)

curl -I https://yourdomain.com

或使用浏览器访问:

https://yourdomain.com

查看:

  • 地址栏是否有锁标志
  • 证书是否受信任

六、检查 SSL 协议与加密套件

1. 查看使用的协议

openssl s_client -connect yourdomain.com:443

2. 使用在线工具(推荐)

  • https://www.ssllabs.com/ssltest/
  • https://www.ssllabs.com/ssltest/analyze.html

可检查:

  • 证书链是否完整
  • 是否支持 TLS 1.2 / 1.3
  • 是否有不安全配置

七、常见 SSL 配置示例(Debian + Nginx)

server {
    listen 443 ssl;
    server_name example.com;

    ssl_certificate     /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
}

HTTP 跳转 HTTPS:

server {
    listen 80;
    server_name example.com;
    return 301 https://$host$request_uri;
}

八、常见问题排查

问题 可能原因
浏览器提示不安全 证书未签发或域名不匹配
无法访问 443 防火墙未放行
nginx -t 报错 证书路径错误或权限不足
证书即将过期 未配置自动续期

如果你愿意,可以贴出:

  • Nginx 的 server 配置
  • 使用的证书类型(Let’s Encrypt / 自签 / 商业证书)

我可以帮你具体分析和优化配置。

0 踩