首页 > 系统相关 >Nginx 为什么要配置 server_name

Nginx 为什么要配置 server_name

时间:2022-10-26 11:12:39浏览次数:79  
标签:www name default server Nginx com listen

作用

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块

参考:1.为什么要配置nginx的servername

2.nginx中server的匹配顺序

本文转自 https://blog.csdn.net/Cheng_Kohui/article/details/82930464,如有侵权,请联系删除。

标签:www,name,default,server,Nginx,com,listen
From: https://www.cnblogs.com/1963942081zzx/p/16827551.html

相关文章

  • appium使用name定位报错 Locator Strategy 'name' is not supported for this session
    报错提示:LocatorStrategy'name'isnotsupportedforthissession解决:1.打开本地文件 driver.js(路径:C:\Users\wangzhiqiang(这里改为自己的用户名)\AppData\Local\Progr......
  • VMware安装中标麒麟Linux_server_x86_ZX64(兆芯版)
    VNware15自行百度镜像下载地址:NeoKylin_zx_linux_server_x86_64.iso(试用版)系统要求-512MB物理RAM(推荐使用1G以上RAM)-6G以上可用磁盘空间-800x6......
  • 野火IM 社区版IM Server集群部署思路
    IMServer集群部署难点在于hazelcast本地缓存与集群缓存之间状态变更通知1.将hazelcast切换成jetcache二级缓存或多级缓存,我使用的是三级缓存 Caffeine+Redis+......
  • php. PHPStudy > nginx 下 TP5隐藏入口文件
    01.打开配置文件vhosts.conf02.在location下添加如下代码1if(!-e$request_filename){2rewrite^/(.*)$/index.php/$1last;3break;4}......
  • nginx代理后刷新显示404
    通过首页进入访问页面正常,F5刷新之后出现错误如下图。原因是因为web单页面开发模式,只有一个index.html入口,其他路径是前端路由去跳转的,nginx没有对应这个路径,当然就是404......
  • 构建quic_server
    文档说明:只记录关键地方;试验环境:linuxdebian11目标:构建能测试的quicserver下载chromium并且安装好依赖以后,执行脚本#!/bin/bashset-exu__CURRENT__=`pwd`......
  • nginx配置文件加载过程
    参考Nginx配置及配置加载Emiller’sGuideToNginxModuleDevelopment......
  • 构建容器版Janus WebRTC server
    文档说明:只记录关键地方;试验环境:linuxdebian11目标:构建能启动的JanusWebRTCserver基础环境:docker构建脚本build-docker.sh#!/bin/envbashset-eexport......
  • nginx安装与调试
    1.nginx源码方式安装#下载wgethttp://nginx.org/download/nginx-1.16.1.tar.gz#解压tar-zxvfnginx-1.16.1.tar.gz#设置安装路径(请自行修改,这里选择的是/home/wo......
  • liveserver
    https://baijiahao.baidu.com/s?id=1719682035800288117&wfr=spider&for=pc最近常玩vite+vue3来开发一些小项目,真正体验到,什么是下一代构建工具。我们知道,vue-cli都是以w......