请教 nginx 的证书在不同块中的优先级

2023-06-27 00:29:48 +08:00
 plko345

在 http 块中定义了 ssl_certificatessl_certificate_key, 所有 vhost 都默认使用, 域名 *.abc.com.

现在有个 vhost 叫 www.def.com, 但在 server 块中定义了 ssl_certificatessl_certificate_key 指向新的证书, 请求时报错依然是 *.abc.com 的证书.

请问在保持 http 块中的证书的情况下, 怎么让新的 www.def.com 的证书生效

1309 次点击
所在节点    程序员
7 条回复
abonan
2023-06-27 00:59:57 +08:00
你是不是配置写错了,优先级顺序是 location 块 > server 块 > http 块
hgc81538
2023-06-27 01:05:12 +08:00
systemctl reload nginx 了嗎
jifengg
2023-06-27 09:02:13 +08:00
先执行 nginx -t 看看配置有没有问题。有问题的配置,是能 reload 的,但不会生效。
其次,看看域名是不是最终请求到你这台服务器(我犯过这样的错)
最后,用 chrome 无痕模式访问,尽量清理缓存(我也遇到过)
plko345
2023-06-27 09:10:27 +08:00
@abonan
@hgc81538
@jifengg
配置都检查并 reload 没问题,但请求时就是不行
Judoon
2023-06-27 09:19:02 +08:00
看看 access/error 日志,请求一下看读到哪个配置。还有就是,有没有配 default_server
harrozze
2023-06-27 12:06:00 +08:00
error_log 开 debug ,请求一下看看日志。调试完后去掉 debug
plko345
2023-06-27 22:59:10 +08:00
@Judoon
@harrozze
感谢, debug 发现请求一直到 default_server 上, 再检查发现 server_name 拼错了一个字母

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/951916

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX