技术解析

NGINX 在配置默认主机的时候, listen 后面加 default_server 和 server_name 配置为 _ 有什么不同吗?
0
2021-05-21 01:35:20
idczone
大带宽服务器
不是有什么不同,而是根本就没关系

理解上应该是 listen default 是针对端口的吧,比如 http 的未知域名和 https 的未知域名可以被导向不同的两个 server
回去我试一下

http://nginx.org/en/docs/http/ngx_http_core_module.html

这个问题我想过,default_name 可以请求任意 host 头,_对 host 头做了一定的安全性约束。
最优雅的还是默认主机返回 403 或 501 等。

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 “[email&may equally be used.

http://nginx.org/en/docs/http/server_names.html

嗯,是的,其实问这个问题的原始需求,就是我在想,一个最佳的默认 catch all server 段应该是怎样的。

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服