V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
plko345
V2EX  ›  程序员

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

  •  
  •   plko345 · 309 天前 · 1064 次点击
    这是一个创建于 309 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    7 条回复    2023-06-27 22:59:10 +08:00
    abonan
        1
    abonan  
       309 天前
    你是不是配置写错了,优先级顺序是 location 块 > server 块 > http 块
    hgc81538
        2
    hgc81538  
       309 天前 via iPhone
    systemctl reload nginx 了嗎
    jifengg
        3
    jifengg  
       309 天前
    先执行 nginx -t 看看配置有没有问题。有问题的配置,是能 reload 的,但不会生效。
    其次,看看域名是不是最终请求到你这台服务器(我犯过这样的错)
    最后,用 chrome 无痕模式访问,尽量清理缓存(我也遇到过)
    plko345
        4
    plko345  
    OP
       309 天前 via Android
    @abonan
    @hgc81538
    @jifengg
    配置都检查并 reload 没问题,但请求时就是不行
    Judoon
        5
    Judoon  
       309 天前   ❤️ 1
    看看 access/error 日志,请求一下看读到哪个配置。还有就是,有没有配 default_server
    harrozze
        6
    harrozze  
       308 天前   ❤️ 1
    error_log 开 debug ,请求一下看看日志。调试完后去掉 debug
    plko345
        7
    plko345  
    OP
       308 天前
    @Judoon
    @harrozze
    感谢, debug 发现请求一直到 default_server 上, 再检查发现 server_name 拼错了一个字母
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2061 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 01:32 · PVG 09:32 · LAX 18:32 · JFK 21:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.