首页 > 其他 > 详细

nginx的servername

时间:2019-09-27 16:20:07      阅读:77      评论:0      收藏:0      [点我收藏+]

作用

  server name 为虚拟服务器的识别路径。因此不同的域名会通过请求头中的HOST字段,匹配到特定的server块,转发到对应的应用服务器中去。
 

案例

修改nginx.conf
server {
 listen 80;
 server_name www;
 location / {
  default_type text/html;
  content_by_lua ‘
   ngx.say("<p>first</p>")
  ‘;
 }
}
 
server {
 listen  80;
 server_name www.zkh.com;
 location / {
  default_type text/html;
  content_by_lua ‘
   ngx.say("<p>second</p>")
  ‘;       
 }
}
 
server {
 listen 80;
 server_name www.zkh.*;
 location / {
  default_type text/html;
  content_by_lua ‘
   ngx.say("<p>third</p>")
  ‘;
 
 }
}
 
server {
 listen 80;
 server_name ~\w+.com;
 location / {
  default_type text/html;
  content_by_lua ‘
   ngx.say("<p>forth</p>")
  ‘;       
 }
}
 
server {
 listen 80;
 server_name ~.*zkh.com;
 location / {
  default_type text/html;
  content_by_lua ‘
   ngx.say("<p>fifth</p>")
  ‘;
 }
}
  修改hosts文件
  118.126.100.138 www.zkh.com
  118.126.100.138 www.zkh.org
  118.126.100.138 zkh.com
  118.126.100.138 zkh.org

 
 
通过jmeter查看请求头,发现请求头携带了Host,由此可知nginx必定会拿它做uri匹配工作
 
匹配顺序
  server_name与host匹配优先级如下:
  1、完全匹配
  2、通配符在前的,如*.test.com
  3、在后的,如www.test.*
  4、正则匹配,如~^\.www\.test\.com$
  如果都不匹配
  1、优先选择listen配置项后有default或default_server的
  2、找到匹配listen端口的第一个server块
————————————————
版权声明:本文为CSDN博主「Kevin_K_H_ZHENG」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/cheng_kohui/article/details/82930464

nginx的servername

原文:https://www.cnblogs.com/helloworldmybokeyuan/p/11597733.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!