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

2022-09-06 23:47:52 +08:00
 dzdh

配置

# 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 。不明所以。

1413 次点击
所在节点    NGINX
4 条回复
q1angch0u
2022-09-07 00:17:35 +08:00
dzdh
2022-09-07 08:24:35 +08:00
@q1angch0u #1 好吧。自己 sb 了。default_server 加到 server_name 了。。。。
tramm
2022-09-07 08:32:51 +08:00
@dzdh 啥意思, 没看懂... 看起来应该没问题啊
klgd
2022-09-07 09:42:49 +08:00
@tramm #3 在没有使用`default_server` 关键字的情况,第一个 server 为默认 server ,按 op 主的例子,include 加载时,先加载 any.conf 所以它是默认 server

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

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

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

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

© 2021 V2EX