使用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>'   //這樣就行了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM