nginx模块rewrite跳转

Rewrite跳转场景

URL看起来更规范,合理
企业会将动态URL地址伪装静态地址提供服务
网址换新域名后,让旧的访问地址跳转到新的域名上
服务端某些业务调整
nginx模块rewrite跳转_第1张图片

回顾:Nginx正则表达式

常用的正则表达式元字符
nginx模块rewrite跳转_第2张图片

nginx模块rewrite跳转_第3张图片
nginx模块rewrite跳转_第4张图片

location分类

分类 lication=patt {} [精准匹配]
lication patt {} [一般匹配]
lication ~ patt {} [正则匹配]
nginx模块rewrite跳转_第5张图片

location优先级

相同类型的表达式,字符串长的会优先匹配
按优先级排列

  • =类型
  • ^~类型表达式
  • 正则表达式(*)类型
  • 常规字符串匹配类型,安前缀匹配
  • 通用匹配(/),如果没有其他匹配,任何请求都会匹配到

匹配rewrite和location

相同点
都能实现跳转
不同点
rewrite在同一域名内更改获取途径的路径
lication是对一类路径做控制访问或反向代理,还可以proxy——pass到其他机器
rewrite会写在lication里,执行顺序
执行server快里面的rewritr命令
执行lication匹配
执行选定的location中的rewrite指令

一、域名跳转

1、手工编译安装nginx
2、安装配置dns,创建2个域名,
vim /etc/named.conf
nginx模块rewrite跳转_第6张图片
vim /etc/named.rfc1912.zones
nginx模块rewrite跳转_第7张图片
nginx模块rewrite跳转_第8张图片
3、vim /usr/local/nginx/conf/nginx.conf
nginx模块rewrite跳转_第9张图片
4、nginx -t 查看
关闭防火墙
systemctl restart nginx 重启
nginx模块rewrite跳转_第10张图片
nginx模块rewrite跳转_第11张图片

二、指定IP登录

1、修改配置文件
vim /usr/local/nginx/conf/nginx.conf
删除原先域名跳转的配置文件
nginx模块rewrite跳转_第12张图片
nginx模块rewrite跳转_第13张图片
2、进入cd /usr/local/nginx/html/
创建一个 main.html
nginx模块rewrite跳转_第14张图片
重新启动nginx
实验:
我现在是不合法的地址,所有到维护页面,跳转main.html网站
nginx模块rewrite跳转_第15张图片
本机地址改成192.168.232.145合法地址,跳转到nginx页面
nginx模块rewrite跳转_第16张图片
nginx模块rewrite跳转_第17张图片

三、旧域名跳转到新域名

1、
删除原先的配置文件
vim /usr/local/nginx/conf/nginx.conf
nginx模块rewrite跳转_第18张图片
nginx模块rewrite跳转_第19张图片
2、修改zyg的配置文件
vim /var/named/zyg.com.zone
nginx模块rewrite跳转_第20张图片
3、指定域名
在这里插入图片描述
实验:
nginx模块rewrite跳转_第21张图片

四、场景—基于参数匹配跳转

1、更改nginx的主配置文件
nginx模块rewrite跳转_第22张图片
2、网页测试,输入网址http://www.aaa.com/100-100-100.html
nginx模块rewrite跳转_第23张图片

你可能感兴趣的:(集群)