图文详解Nginx多种匹配方式
目录
- 前言
- 端口转发
- 利用访问地址转发
- 同一个server可以同时配置多个主机名
- 前置匹配
- 后置匹配
- 正则匹配
- 总结
前言
首先建立两个不同的路径的页面做测试


然后打开/usr/local/nginx/conf目录下的ngnix.conf

可以看到

每一个server都可以定义一个访问的转发到的路径
端口转发
server {
listen 878;#当访问878端口组时
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /www/zthwww/w2;#访问878端口时,访问这个路径下的index.html文件
index index.html index.htm;
}
}
重新启动ngnix
/usr/local/nginx/sbin/nginx -s reload
如果报一下错误,说明是配置文件格式错误,检查配置的server的大括号位置是否匹配,格式是否正确

测试结果

利用访问地址转发
在进行这步操作时,必须确保DNS解析中,已经添加*前缀解析

然后还是在conf文件中
server {
listen 80;
server_name zth2.zhangdd1915.top;#修改为任意的XXX.自己域名的格式
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /www/zthwww/w1;#指定路径
index index.html index.htm;
}
}
(注意端口号和虚拟主机名不能重复,否则会报错)再次重新启动ngnix
测试

同一个server可以同时配置多个主机名
例如
server {
listen 80;
server_name zth2.zhangdd1915.top zth3.zhangdd1915.top;#主机名1 空格 主机名2的形式
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /www/zthwww/w1;
index index.html index.htm;
}
}
重启测试

前置匹配
server {
listen 80;
server_name *.zhangdd1915.top;#只要是以 .zhangdd1915.top结尾都会匹配到此
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /www/zthwww/w1;
index index.html index.htm;
}
}
注意这个一定要写在最前面,因为先写的先匹配,在之前的DNS解析中已经谢了*,所以会自动匹配到默认的,所以要写在首位
重启测试

后置匹配
server {
listen 878;
server_name zhangdd1915.*;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /www/zthwww/w2;
index index.html index.htm;
}
}
由于我只有一域名,这里就不做测试了。
正则匹配
server {
listen 878;
server_name ~^[0-9]+\.zhangdd1915\.top$;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /www/zthwww/w1;
index index.html index.htm;
}
}
例如前缀是N个数字开头
总结
您可能感兴趣的文章
- 01-07Tomcat部署Bolo动态博客
- 01-07图文详解nginx日志切割的实现
- 01-07如何解决swarm docker 端口不通问题
- 01-07详解nginx location指令
- 01-07如何解决docker http 500错误问题
- 01-07windows server 2008安装配置DNS服务器
- 01-07Linux上搭载Nginx负载均衡配置使用案例详解
- 01-07NGINX 权限控制文件预览和下载的实现原理
- 01-07Nginx防盗链与服务优化配置的全过程
- 01-07使用 Apache 反向代理的设置技巧


阅读排行
推荐教程
- 12-23linux中ftp无法访问怎么办
- 12-11docker存储目录迁移示例教程
- 12-10docker start启动容器后仍然exit状态的解决
- 12-10Linux下如何安装Logstash
- 01-05Shell脚本去重的几种方法实例
- 12-22kvm虚拟机配置NAT端口转发的实现方法
- 12-19Zabbix SAML SSO 登录绕过漏洞的操作流程
- 12-15Docker-Compose搭建Spark集群的实现方法
- 12-14Docker Desktop无法正常启动解决(failed to start...)
- 12-14k8s 与docker空间使用分析与清理方法




