V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
Livid
V2EX  ›  NGINX

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

  •  
  •   Livid · 2018-04-23 06:55:19 +08:00 · 7851 次点击
    这是一个创建于 2425 天前的主题,其中的信息可能已经有所发展或是发生改变。
    7 条回复    2018-04-23 09:08:12 +08:00
    julyclyde
        1
    julyclyde  
       2018-04-23 08:29:58 +08:00
    不是有什么不同,而是根本就没关系
    isCyan
        2
    isCyan  
       2018-04-23 08:30:51 +08:00 via Android
    理解上应该是 listen default 是针对端口的吧,比如 http 的未知域名和 https 的未知域名可以被导向不同的两个 server
    回去我试一下
    ytlm
        3
    ytlm  
       2018-04-23 08:31:00 +08:00
    salmon5
        4
    salmon5  
       2018-04-23 08:46:28 +08:00 via Android
    这个问题我想过,default_name 可以请求任意 host 头,_对 host 头做了一定的安全性约束。
    最优雅的还是默认主机返回 403 或 501 等。
    ragnaroks
        5
    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
        6
    ragnaroks  
       2018-04-23 08:48:13 +08:00
    Livid
        7
    Livid  
    MOD
    OP
       2018-04-23 09:08:12 +08:00
    @salmon5 嗯,是的,其实问这个问题的原始需求,就是我在想,一个最佳的默认 catch all server 段应该是怎样的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3277 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 10:35 · PVG 18:35 · LAX 02:35 · JFK 05:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.