nginx最簡單的反向代理腳本

 

 

切記:配置完成後,需要刷新nginx配置,以下2條命令都可以:

 

/root/lnmp reload
/etc/init.d/nginx reload

 

一、最簡單的反向代理腳本(只要修改2個網址,存成conf文件放置於vhost下):

 

server
{
listen          80;
server_name     www.vps.gl;
location / {
proxy_pass          http://cache.vps.gl/;
proxy_redirect      off;
proxy_set_header    X-Real-IP       $remote_addr;
proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

 

二、最簡單的前端全緩存,反向代理腳本

 

#新建2個目錄,放置緩存文件:
mkdir /home/cache/path -p
mkdir /home/cache/temp -p

 

修改 /usr/local/nginx/conf/nginx.conf 新增以下代碼,主要是緩存相關設置,請放置於 http{ ##這裏 } 中,一般加在 log_format 上面或下面均可:

 

client_body_buffer_size  512k;
proxy_connect_timeout    5;
proxy_read_timeout       60;
proxy_send_timeout       5;
proxy_buffer_size        16k;
proxy_buffers            4 64k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k;
proxy_temp_path   /home/cache/temp;
proxy_cache_path  /home/cache/path levels=1:2 keys_zone=cache_one:500m inactive=7d max_size=30g;
#500m是內存佔用,7d是7天無訪問刪除,30g是緩存佔具硬盤空間

 

以下爲虛擬主機配置文件,可另存成 .conf 放置於 vhost 下面:

 

server
{
listen          80;
server_name     www.vps.gl; #主機名
location / {
proxy_cache cache_one;
proxy_cache_valid  200 304 3d; #正常狀態緩存時間3天
proxy_cache_key $host$uri$is_args$args;
proxy_pass          http://cache.vpsmm.com/; #反代的網站
proxy_redirect      off;
proxy_set_header    X-Real-IP       $remote_addr;
proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
expires 10d; #默認10天緩存
access_log  /home/wwwlogs/vpsmm.log  access; #日誌文件
}
}

 

點擊幾下網站,df -sh 命令,查看 /home/cache 目錄大小,即可測試是否緩存成功。此腳本爲前端全緩存,後端動態更新後,前端不會自動修改。可手動清理cache目錄下文件。這個方法,可以用純靜態的形式來防CC,如果你的動態博客,受到CC***,可以嘗試一下。

三、LNMP簡單的一些防CC的辦法

觀看生成的.log日誌文件,判斷來路,直接301百度:

 

if ($http_referer ~* mi5.gov ) {
rewrite ^(.*)$ http://www.baidu.com/ permanent;
}

 

觀看生成的.log日誌文件,判斷瀏覽器特徵碼,直接301百度:

 

if ($http_user_agent ~* firefox4.0 ) {
rewrite ^(.*)$ http://www.baidu.com/ permanent;
}

 

根據特徵碼,直接查找.log文件,並iptables封死相應IP:

cat com.log | grep 'Mozilla/5.0' | awk '{print "iptables -I INPUT -p tcp --dport 80 -s ", $1, "-j DROP"}'| sort -n | uniq | sh

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章