NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
dzdh
V2EX  ›  NGINX

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

  •  
  •   dzdh · Sep 6, 2022 · 1994 views
    This topic created in 1370 days ago, the information mentioned may be changed or developed.

    配置

    # 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 replies    2022-09-07 09:42:49 +08:00
    ryanbuu
        1
    ryanbuu  
       Sep 7, 2022 via iPhone
    dzdh
        2
    dzdh  
    OP
       Sep 7, 2022
    @q1angch0u #1 好吧。自己 sb 了。default_server 加到 server_name 了。。。。
    tramm
        3
    tramm  
       Sep 7, 2022
    @dzdh 啥意思, 没看懂... 看起来应该没问题啊
    klgd
        4
    klgd  
       Sep 7, 2022
    @tramm #3 在没有使用`default_server` 关键字的情况,第一个 server 为默认 server ,按 op 主的例子,include 加载时,先加载 any.conf 所以它是默认 server
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   823 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 20:59 · PVG 04:59 · LAX 13:59 · JFK 16:59
    ♥ Do have faith in what you're doing.