使用Nginx做转发和匹配替换
Nginx是一个强大的服务器软件,由于处理数据内容处于第七层协议应用层的原因,所以获取的数据也比较完整;
Nginx做转发:
这个很简单,vi nginx.conf(编辑nginx配置文件)
添加location /public/sexy.jpg{//这个是你域名访问的图片
proxy_pass http://www.tmp.jpg;#这个是你要替换的图片路径(加上http头)
}
保存退出,重启nginx 就可以看到原本项目 http://xxx/public/sexy.jpg变成了http://www.tmp.jpg这个图片,虽然在页面上看道德还是sexy.jpg;
nginx反向代理很牛逼吧,还有个更牛逼的就是sub filter这个nginx插件
将插件存放到tmp目录下面
cd /tmp
git clone git://github.com/yaoweibin/ngx_http_substitutions_filter_module.git
【PS:如果nginx安装过的,那么需要先找到编译目录(就是你安装nginx的安装包目录)】
cd /xxx/nginx-1.11.0(安装包目录)
./configure --prefix=/xxxx/nginx(nginx项目) --add-module=/tmp/ngx_http_substitutions_filter_module #追加sub_filter插件
make
然后就会在nginx-11.0(安装包目录)/objs/nginx 更新nginx启动文件
cp 复制nginx-11.0(安装包目录)/objs/nginx /xxxx/nginx(nginx项目)/sbin/nginx 替换掉就行了
vi /xxxx/nginx(nginx项目)/conf/nginx.conf 编辑配置nginx
ps:我在网上看很多都是在 location /{}里面添加的,不过我试过都不行,只能在location外面 server里面配置才有效果
location里面没效果,location外面 server里面才有效;
subs_filter 需要替换的文本 结果的文本;//中间采用空格 隔开就行了
如果遇到 <a href=""> haha </a>有空格的文本,则用引用括起来
eg: '<a href=""> haha </a>' '<a href=""> xxiixixix </a>' //这样就行了
使用Nginx做转发和匹配替换的更多相关文章
- (转)nginx做转发时,带'_'的header内容丢失
原本在测试环境测试通过的APP,今天准备切到线上环境做最后测试,结果发现了错误.查看日志发现是APP端发送的http请求中的header内容丢失了.那么代码没有改动,怎么平白无故会丢失头信息? 于是想 ...
- Nginx做转发
二台服务器,服务器A做域名转外,所有外网的域名都到这台服务器A的80端口上,服务器B内网地址192.168.1.227, 上面IIS搭建了N多网站,以端口来区分,用以前的方式 配置转发 结果发现首页能 ...
- Nginx应用-Location路由反向代理及重写策略 请求转发-URL匹配规则 NGINX Reverse Proxy
NGINX Docs | NGINX Reverse Proxy https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/ ...
- 把www.domain.com均衡到本机不同的端口 反向代理 隐藏端口 Nginx做非80端口转发 搭建nginx反向代理用做内网域名转发 location 规则
负载均衡-Nginx中文文档 http://www.nginx.cn/doc/example/loadbanlance.html 负载均衡 一个简单的负载均衡的示例,把www.domain.com均衡 ...
- 端口被占用通过域名的处理 把www.domain.com均衡到本机不同的端口 反向代理 隐藏端口 Nginx做非80端口转发 搭建nginx反向代理用做内网域名转发 location 规则
负载均衡-Nginx中文文档 http://www.nginx.cn/doc/example/loadbanlance.html 负载均衡 一个简单的负载均衡的示例,把www.domain.com均衡 ...
- 【nginx配置】nginx做非80端口转发
一个场景 最近在使用PHP重写一个使用JAVA写的项目,因为需要查看之前的项目,所以要在本地搭建一个Tomcat来跑JAVA的项目.搭建成功后,因为Tomcat监听的端口是8080,因此,访问的URL ...
- nginx做反向代理负载均衡 Java怎么获取后端服务器获取用户IP
nginx做反向负载均衡,后端服务器获取真实客户端ip 首先,在前端nginx上需要做如下配置: location / proxy_set_hearder host ...
- 死磕nginx系列--使用nginx做负载均衡
使用nginx做负载均衡的两大模块: upstream 定义负载节点池. location 模块 进行URL匹配. proxy模块 发送请求给upstream定义的节点池. upstream模块解读 ...
- Nginx 关于 location 的匹配规则详解
有些童鞋的误区 1. location 的匹配顺序是“先匹配正则,再匹配普通”. 矫正: location 的匹配顺序其实是“先匹配普通,再匹配正则”.我这么说,大家一定会反驳我,因为按“先匹配普通, ...
随机推荐
- datetime is not json serializable
python, datetime is not json serializable import datetime def json_serial(obj): """JS ...
- servlet路径获取
本文章主要讨论以下几种request获取路径的方法: request.getServletPath() request.getPathInfo() request.getContextPath() r ...
- Idiom: a Lot on my Plate
Idiom: a Lot on my Plate Share Tweet Share Tagged With: Idioms I’ve got a lot on my plate. American ...
- python笔记之强制函数以关键字参数传参
最近学习python,学到了函数传参,看到了以下这个特殊情况,特此来做个笔记 def add(*, x, y): print(x, y) 以上函数定义后,该怎么传参?前面的那个*号是做什么用的? 我们 ...
- Python操作远程服务器paramiko模块介绍
paramiko模块是基于Python实现的SSH远程安全连接,可以提供在远程服务器上执行命令.上传文件到服务器或者从指定服务器下载文件的功能. paramiko模块安装方法 paramiko模块不是 ...
- Oracle快速导入数据工具
sqlldr是oracle自带的快速导入批量数据的工具,常用于性能测试.考虑手工构造控制文件较为繁琐,因此使用脚本完成批量数据的自动导入. 基本知识 sqlldr命令语法 sqlldr dbname/ ...
- 升级nodejs的方法(3)
第一种 找到 目录 删除 再重装 第二种 安装模块n n stable 第三种 nvm https://blog.csdn.net/weibo392/article/details/77368550 ...
- 吴裕雄 python神经网络(7)
import numpy as npnp.random.randint(0,49,3) # -*- coding:utf-8 -*-import kerasfrom keras.models impo ...
- curl get请求
curl --proxy 192.168.1.159:8889 -d "grant_type=client_credential&appid=wxxx&secret=xxx ...
- html实现导航栏效果
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...