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做转发和匹配替换的更多相关文章

  1. (转)nginx做转发时,带'_'的header内容丢失

    原本在测试环境测试通过的APP,今天准备切到线上环境做最后测试,结果发现了错误.查看日志发现是APP端发送的http请求中的header内容丢失了.那么代码没有改动,怎么平白无故会丢失头信息? 于是想 ...

  2. Nginx做转发

    二台服务器,服务器A做域名转外,所有外网的域名都到这台服务器A的80端口上,服务器B内网地址192.168.1.227, 上面IIS搭建了N多网站,以端口来区分,用以前的方式 配置转发 结果发现首页能 ...

  3. Nginx应用-Location路由反向代理及重写策略 请求转发-URL匹配规则 NGINX Reverse Proxy

    NGINX Docs | NGINX Reverse Proxy https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/ ...

  4. 把www.domain.com均衡到本机不同的端口 反向代理 隐藏端口 Nginx做非80端口转发 搭建nginx反向代理用做内网域名转发 location 规则

    负载均衡-Nginx中文文档 http://www.nginx.cn/doc/example/loadbanlance.html 负载均衡 一个简单的负载均衡的示例,把www.domain.com均衡 ...

  5. 端口被占用通过域名的处理 把www.domain.com均衡到本机不同的端口 反向代理 隐藏端口 Nginx做非80端口转发 搭建nginx反向代理用做内网域名转发 location 规则

    负载均衡-Nginx中文文档 http://www.nginx.cn/doc/example/loadbanlance.html 负载均衡 一个简单的负载均衡的示例,把www.domain.com均衡 ...

  6. 【nginx配置】nginx做非80端口转发

    一个场景 最近在使用PHP重写一个使用JAVA写的项目,因为需要查看之前的项目,所以要在本地搭建一个Tomcat来跑JAVA的项目.搭建成功后,因为Tomcat监听的端口是8080,因此,访问的URL ...

  7. nginx做反向代理负载均衡 Java怎么获取后端服务器获取用户IP

    nginx做反向负载均衡,后端服务器获取真实客户端ip   首先,在前端nginx上需要做如下配置: location / proxy_set_hearder host                 ...

  8. 死磕nginx系列--使用nginx做负载均衡

    使用nginx做负载均衡的两大模块: upstream 定义负载节点池. location 模块 进行URL匹配. proxy模块 发送请求给upstream定义的节点池. upstream模块解读 ...

  9. Nginx 关于 location 的匹配规则详解

    有些童鞋的误区 1. location 的匹配顺序是“先匹配正则,再匹配普通”. 矫正: location 的匹配顺序其实是“先匹配普通,再匹配正则”.我这么说,大家一定会反驳我,因为按“先匹配普通, ...

随机推荐

  1. datetime is not json serializable

    python, datetime is not json serializable import datetime def json_serial(obj): """JS ...

  2. servlet路径获取

    本文章主要讨论以下几种request获取路径的方法: request.getServletPath() request.getPathInfo() request.getContextPath() r ...

  3. 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 ...

  4. python笔记之强制函数以关键字参数传参

    最近学习python,学到了函数传参,看到了以下这个特殊情况,特此来做个笔记 def add(*, x, y): print(x, y) 以上函数定义后,该怎么传参?前面的那个*号是做什么用的? 我们 ...

  5. Python操作远程服务器paramiko模块介绍

    paramiko模块是基于Python实现的SSH远程安全连接,可以提供在远程服务器上执行命令.上传文件到服务器或者从指定服务器下载文件的功能. paramiko模块安装方法 paramiko模块不是 ...

  6. Oracle快速导入数据工具

    sqlldr是oracle自带的快速导入批量数据的工具,常用于性能测试.考虑手工构造控制文件较为繁琐,因此使用脚本完成批量数据的自动导入. 基本知识 sqlldr命令语法 sqlldr dbname/ ...

  7. 升级nodejs的方法(3)

    第一种 找到 目录 删除 再重装 第二种 安装模块n n stable 第三种 nvm https://blog.csdn.net/weibo392/article/details/77368550 ...

  8. 吴裕雄 python神经网络(7)

    import numpy as npnp.random.randint(0,49,3) # -*- coding:utf-8 -*-import kerasfrom keras.models impo ...

  9. curl get请求

    curl --proxy 192.168.1.159:8889  -d "grant_type=client_credential&appid=wxxx&secret=xxx ...

  10. html实现导航栏效果

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...