前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LNMP高级应用 反向代理+CC防护

LNMP高级应用 反向代理+CC防护

作者头像
用户1700948
发布2018-05-16 11:50:55
1.3K0
发布2018-05-16 11:50:55
举报
文章被收录于专栏:小夜博客小夜博客

一、LNMP高级应用之nginx最简单反向代理

代码语言:javascript
复制
server
{
listen          80;
server_name     vpsmm.com;
location / {
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;
}
}

二、最简单的前端全缓存+反向代理脚本

代码语言:javascript
复制
mkdir /home/cache/path -p #新建2个目录,放置缓存文件
mkdir /home/cache/temp -p

修改 /usr/local/nginx/conf/nginx.conf 新增以下代码,主要是缓存相关设置,请放置于 http{ ##这里 } 中,一般加在 log_format 上面或下面均可:

代码语言:javascript
复制
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 下面:

代码语言:javascript
复制
server
{
listen          80;
server_name     vpsmm.com; #主机名
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百度:

代码语言:javascript
复制
if ($http_referer ~* mi5.gov ) {
rewrite ^(.*)$ http://www.baidu.com/ permanent;
}

观看生成的.log日志文件,判断浏览器特征码,直接301百度:

代码语言:javascript
复制
if ($http_user_agent ~* firefox4.0 ) {
rewrite ^(.*)$ http://www.baidu.com/ permanent;
}

根据特征码,直接查找.log文件,并iptables封死相应IP:

代码语言:javascript
复制
cat com.log | grep 'Mozilla/5.0' | awk '{print "iptables -I INPUT -p tcp --dport 80 -s ", $1, "-j DROP"}'| sort -n | uniq | sh
代码语言:javascript
复制
if ($http_user_agent ~* 142.54.161.3 ) {rewrite ^(.*)$ http://www.baidu.com/ permanent;}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
轻量应用服务器
轻量应用服务器(TencentCloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、Web应用、小程序/小游戏、游戏服、电商应用、云盘/图床和开发测试环境,相比普通云服务器更加简单易用且更贴近应用,以套餐形式整体售卖云资源并提供高带宽流量包,将热门开源软件打包实现一键构建应用,提供极简上云体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档