V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
dzdh
V2EX  ›  NGINX

无法进入默认 server,默认 server 不生效怎么破

  •  
  •   dzdh · 2022-09-06 23:47:52 +08:00 · 1431 次点击
    这是一个创建于 839 天前的主题,其中的信息可能已经有所发展或是发生改变。

    配置

    # nginx.conf
    include sites-enabled/*
    # sites-enabled/any.conf
    server {
        listen 80;
        listen 443 ssl http2;
        server_name *.a.b.com;
        ssl_certificate certs/any.a.b.com.pem;
        ssl_certificate_key certs/any.a.b.com.key;
    }
    # sites-enabled/be_default.conf
    server {
        listen 80;
        listen 443 ssl http2;
        server_name _;
        ssl_certificate certs/$ssl_server_name.pem;
        ssl_certificate_key certs/$ssl_server_name.key;
    }
    

    使用命令curl -v --resolve 'c.com:443:127.0.0.1' -H "Host: c.com" https://c.com 根据 error 日志看,却进到了 *.a.b.com

    ....   server:*.a.b.com request_uri:/ ...
    

    按理说 any.conf 的 server_name 根本匹配不到 c.com 才对。应该走 be_default.conf 。不明所以。

    4 条回复    2022-09-07 09:42:49 +08:00
    q1angch0u
        1
    q1angch0u  
       2022-09-07 00:17:35 +08:00 via iPhone
    dzdh
        2
    dzdh  
    OP
       2022-09-07 08:24:35 +08:00
    @q1angch0u #1 好吧。自己 sb 了。default_server 加到 server_name 了。。。。
    tramm
        3
    tramm  
       2022-09-07 08:32:51 +08:00
    @dzdh 啥意思, 没看懂... 看起来应该没问题啊
    klgd
        4
    klgd  
       2022-09-07 09:42:49 +08:00
    @tramm #3 在没有使用`default_server` 关键字的情况,第一个 server 为默认 server ,按 op 主的例子,include 加载时,先加载 any.conf 所以它是默认 server
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3002 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 13:34 · PVG 21:34 · LAX 05:34 · JFK 08:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.