corvvs / webserv

simple and light http-server like NGINX in C++
4 stars 2 forks source link

listenのdefault_server指定に対応する #266

Closed ryo-manba closed 2 years ago

ryo-manba commented 2 years ago

概要

以下どちらかの場合にdefault_serverが指定されたコンテキストを使用する

参考 http://mogile.web.fc2.com/nginx/http/request_processing.html

ryo-manba commented 2 years ago

http {
    server {
        listen 8080;
        server_name "srv1";
        return 200 "srv1";
    }
    server {
        listen 8080 default_server;
        server_name "srv2";
        return 200 "srv2";
    }
}

nginxでの動作例

# hostの指定がない
> curl localhost:8080
srv2%                                                                                       

# hostの指定があり、一致するserver_nameがある
> curl localhost:8080 -H "Host: srv1"
srv1%                                                                                       

# hostの指定があり、一致するserver_nameがある
> curl localhost:8080 -H "Host: srv2"
srv2%                                                                                       

# hostの指定があり、一致するserver_nameがない
> curl localhost:8080 -H "Host: piyo"
srv2%