nginx conf server_name 学习

1.当端口只对应一个server_name的时候,请求带不带Host都可以,带什么都可以。
2.当端口对应Server_name有多个的时候,请求不带host或者带的host不是某一个server_name的话,请求会到端口对应的第一个server中.
 
eg:
nginx conf如下:
server {                                                                    
        listen    21734;                                                        
        server_name  hyd;                                                  
                                                                               
        location /{                                                            
            echo $arg_a;                                                        
        }                                                                      
    }                                                                          
    server {                                                                    
        listen    21734;                                                        
        server_name  localhost;                                                
                                                                               
        location /{                                                            
            echo $arg_b;                                                        
        }                                                                      
    }                        
curl -v "127.0.0.1:21734/test?a=aaaa&b=bbbb" 返回 aaaa
curl -v "127.0.0.1:21734/test?a=aaaa&b=bbbb" -H "Host:xxxx" 返回aaaa
curl -v "127.0.0.1:21734/test?a=aaaa&b=bbbb" -H "Host:localhost"  返回bbbb
可以从总结下只有header中的host为localhost的话,才会返回bbbb,
其他情况全部都是返回aaaa
 
如上是测试的结果。有问题请指出。
posted @ 2015-08-07 15:58  come_on努力学习  阅读(161)  评论(0)    收藏  举报