Nginx 无法匹配到二级域名 server 块,大神进来支个招!!!

2018-07-04 00:03:44 +08:00
 s609926202

我定义了下面三段 server 段:

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;
    server_name _;

    return 444;
}

server {
    listen 80;
    server_name abc.com www.abc.com;

    ...
}
    
server {
    listen 80;
    server_name shop.abc.com;

    ...
}

server {
    listen 80;
    server_name *.abc.com;
    
    ...
}

现在是这样的情况,访问 abc.comwww.abc.comshop.abc.com 都可以访问到指定的路径,但是,访问 xx.abc.com 却无法访问到二级域名的通配符 server 段里,而是直接匹配到了 server_name _那里,返回了 500,这个是什么情况、

1600 次点击
所在节点    问与答
2 条回复
just1
2018-07-04 00:06:38 +08:00
server_name _ 返回的是 444 啊,你是呢么判断匹配到了_那里。
nginx 配置没问题,应该是*.abc.com 对应应用的代码出错抛出了 500 把
s609926202
2018-07-04 00:13:04 +08:00
@just1
还真是你说的这样,我其实是做了反向代理,然后在源服务器上没有配置 nginx,我以为不用配置、、

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

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

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

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

© 2021 V2EX