Nginx服务的地址重写
调整Nginx服务器配置,实现:
1.所有访问a.html的请求,重定向到b.html;
2.所有访问Nginx服务器(192.168.4.1)的请求重定向至www.baidu.com;
3.所有访问Nginx服务器(192.168.4.1)/下面子页面,重定向至www.baidu.com/下相同的页面.
4.实现firefox与curl访问相同页面文件,返回不同的内容
总结地址重写的格式有:
rewrite 旧地址 新地址 [选项];
last 不再读其他rewrite
break 不再读其他语句,结束请求
redirect 临时重定向
permament 永久重定向
1. 所有访问a.html的请求,重定向到b.html
[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
......
server {
listen 80;
server_name localhost;
rewrite /a.html /b.html redirect; //地址跳转到b.html
location / {
root html;
index index.html index.htm;
}
}
# echo "test page" > /usr/local/nginx/html/b.html //在网页文件里写入数据,用于测试
# /usr/local/nginx/sbin/nginx -s reload //重启,加载配置
[root@client ~]# firefox http://192.168.4.5/a.html //客户端测试,访问a.html,但浏览器地址栏会自动跳转到b.html的页面
2.所有访问Nginx服务器(192.168.4.1)的请求重定向至www.baidu.com
[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
......
server {
listen 80;
server_name localhost;
rewrite ^/ http://baidu.com/ ; //地址跳转到百度
location / {
root html;
index index.html index.htm;
}
}
# /usr/local/nginx/sbin/nginx -s reload //重启,加载配置
[root@room9pc01 ~]# firefox http://192.168.4.1 //真机上访问Nginx服务器,浏览器地址栏自动跳转至www.baidu.com
3.所有访问Nginx服务器(192.168.4.1)/下面子页面,重定向至www.baidu.com/下相同的页面
[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
......
server {
listen 80;
server_name localhost;
rewrite ^/(.*)$ http://baidu.com/ $1; //地址跳转到百度下的子页面,这里用到了正则,即以/开头,以任意内容结尾(.*)$
location / {
root html;
index index.html index.htm;
}
}
# /usr/local/nginx/sbin/nginx -s reload //重启,加载配置
[root@room9pc01 ~]# firefox http://192.168.4.1/test //真机上访问Nginx服务器下的子页面,浏览器地址栏自动跳转至www.baidu.com/子页面
4.实现firefox与curl访问相同页面文件,返回不同的内容
4.1创建网页目录以及对应的页面文件,用于测试:
# echo "I am normal page" > /usr/local/nginx/html/test.html
# mkdir -p /usr/local/nginx/html/firefox/
# echo "wo shi firefox page" > /usr/local/nginx/html/firefox/test.html
4.2修改Nginx服务配置
[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
......
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
if ($http_user_agent ~* firefox) { //变量$http_user_agent能识别客户端的firefox浏览器,这里的符号~示意正则匹配,符号*示意不区分大小写
rewrite ^/(.*)$ /firefox/$1;
}
}
# /usr/local/nginx/sbin/nginx -s reload //重启,加载配置
# firefox http://192.168.4.1/test.html //使用火狐浏览器访问Nginx服务器
# curl http://192.168.4.1/test.html //本地curl访问Nginx服务器
结束.
Nginx服务的地址重写的更多相关文章
- nginx篇最初级用法之地址重写
nginx服务器的地址重写,主要用到的配置参数是rewrite rewrite regex replacement flag rewrite 旧地址 新地址 [选项] 支持的选项有: last 不再读 ...
- 高级运维(三):部署Lnmp环境、构建Lnmp平台、地址重写
一.部署LNMP环境 目标: 安装部署Nginx.MariaDB.PHP环境 1> 安装部署Nginx.MariaDB.PHP.PHP-FPM: 2> 启动Nginx.MariaDB.FP ...
- Linux服务之nginx服务篇五(静态/动态文件缓存)
一.nginx实现静态文件缓存实战 1.nginx静态文件缓存 如果要熟练使用nginx来实现文件的缓存,那下面的几个指令你必须要牢记于心 (1)指令1:proxy_cache_path 作用:设置缓 ...
- nginx反向代理,负载均衡,动静分离,rewrite地址重写介绍
一.rewrite地址重写 地址转发后客户端浏览器地址栏中的地址显示是不变的,而地址重写后地址栏中的地址会变成正确的地址. 在一次地址转发过程中只会产生一次网络请求,而一次地址重写产生两次请求. 地址 ...
- Apache Nginx URL 地址 重写
URL重写这东西在工作中用了很多次了,但每次都忘记了要记得把知道的积累下来. 哎,要么认为没必要,要么就是没时间?! 一.Apache 篇 官方地址:http://man.chinaunix.net/ ...
- 9. nginx服务实验笔记
LNMP安装与配置 Nginx与apache.lighttp性能综合对比,如下图: 一.系统需求: CentOS/RHEL/Fedora/Debian/Ubuntu系统 需要3GB以上硬盘 ...
- Nginx_地址重写(rewrite)_日志管理(log_format)_压缩输出_Nginx设定限速_Nginx设置反向代理及反向代理缓存
Nginx地址重写 Nginx rewrite rewrite语法规则1).变量名可以使用 "=" 或 "!=" 运算符~ 区分大小写~* 不区分大小写^~ 禁 ...
- nginx服务部署 说明
第1章 常用的软件 1.1 常用来提供静态服务的软件 Apache :这是中小型Web服务的主流,Web服务器中的老大哥, Nginx :大型网站Web服务的主流,曾经Web服务器中的初生牛犊 ...
- 1.Nginx服务应用
Nginx服务应用 Nginx的优点和作用 Nginx是一款高性能的HTTP和反向代理的服务器软件,还是一个IMAP/POP3/SMTP(邮件)代理服务器! Nginx在功能实现上都采用模块化结构设计 ...
随机推荐
- noip模拟赛 括号序列
题目描述LYK有一个括号序列,但这个序列不一定合法.一个合法的括号序列如下:()是合法的括号序列.若A是合法的括号序列,则(A)是合法的括号序列.若A和B分别是合法的括号序列,则AB是合法的括号序列. ...
- App的登陆注册接口安全设计
最近一APP产品,我担任的主要模块之一是后台登录注册模块的接口开发.基本完成,就说说并记录一下关于登录注册接口的一些东西,因为也涉及到接口的安全方面的问题. 1.先一般的app的登录注册接口安全设计上 ...
- Java 两个整数相除保留两位小数,将小数转化为百分数
Java 两个整数相除保留两位小数,将小数转化为百分数 源于:http://blog.sina.com.cn/s/blog_624d755d0101cvuq.html 后来学习了:http://blo ...
- C语言函数--H
函数名: harderr 功 能: 建立一个硬件错误处理程序 用 法: void harderr(int (*fptr)()); 程序例: /*This program will trap disk ...
- 泛型和面向对象C++
1. 在类内部定义的函数默觉得inline,内联函数应该在头文件里定义,由于其定义对编译器必须是可见的,以便编译器可以在调用点内联展开该函数的代码. 此时,仅有函数原型是不够的. 2.assert 3 ...
- luogu1991 无线通讯网
题目大意 国防部计划用无线网络连接若干个边防哨所.2 种不同的通讯技术用来搭建无线网络:每个边防哨所都要配备无线电收发器:有一些哨所还可以增配卫星电话.任意两个配备了一条卫星电话线路的哨所(两边都ᤕ有 ...
- 浅谈EL与JSTL
讲道理,自己在博大精深的Java世界里还只是一个很小很小的菜鸟.处于成长与学习之中,但学习一个漫长的过程.尤其对于那些知识点我觉得总结是尤为重要的.反正在我看来这段时间里虽然过了很多知识但却是一脸懵逼 ...
- C++重载运算符简单总结
当运算符作用于类类型的运算对象时,可以通过运算符重载重新定义该运算符的含义.明智的使用运算符重载能令我们的程序更易于编写和阅读. 一.基本概念 什么是运算符重载?重载的运算符是具有特殊名字的函数:它们 ...
- PCB 一键远程桌面+RDP文件生成
最近在写个内网INCAM内网授权工具中,在服务端监听客户端请求后,后台自动处理客户端请求并远程客户端 这里记录3个点. 一.运行RDP文件后,正常会有下图2个弹窗,怎么可以关闭这2个弹窗呢, 通过模拟 ...
- 0604-面向对象、类与对象、类、static、构造方法/析构方法
一.面向对象 1.面向过程:一个人分步骤完成某个事情 2.面向对象:某件事情拆分为多个任务,由每个对象独立完成,最后调用整合为一个完整的项目 3.三要素:继承.封装.多态. 封装:私有化属性 提供公共 ...