NGINX 在配置默认主机的时候, listen 后面加 default_server 和 server_name 配置为 _ 有什么不同吗?

2018-04-23 06:55:19 +08:00
 Livid
7718 次点击
所在节点    NGINX
7 条回复
julyclyde
2018-04-23 08:29:58 +08:00
不是有什么不同,而是根本就没关系
isCyan
2018-04-23 08:30:51 +08:00
理解上应该是 listen default 是针对端口的吧,比如 http 的未知域名和 https 的未知域名可以被导向不同的两个 server
回去我试一下
ytlm
2018-04-23 08:31:00 +08:00
salmon5
2018-04-23 08:46:28 +08:00
这个问题我想过,default_name 可以请求任意 host 头,_对 host 头做了一定的安全性约束。
最优雅的还是默认主机返回 403 或 501 等。
ragnaroks
2018-04-23 08:48:03 +08:00
In catch-all server examples the strange name “_” can be seen:

server {
listen 80 default_server;
server_name _;
return 444;
}
There is nothing special about this name, it is just one of a myriad of invalid domain names which never intersect with any real name. Other invalid names like “--” and “!@#” may equally be used.
ragnaroks
2018-04-23 08:48:13 +08:00
Livid
2018-04-23 09:08:12 +08:00
@salmon5 嗯,是的,其实问这个问题的原始需求,就是我在想,一个最佳的默认 catch all server 段应该是怎样的。

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

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

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

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

© 2021 V2EX