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

༺小ʚɞ寞༻ Wiki评论24,6431字数 1929阅读6分25秒阅读模式

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

  1. server
  2. {
  3. listen          80;
  4. server_name     lucktang.com;
  5. location / {
  6. proxy_pass          http://cache.lucktang.com/;
  7. proxy_redirect      off;
  8. proxy_set_header    X-Real-IP       $remote_addr;
  9. proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
  10. }
  11. }

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

  1. mkdir /home/cache/path -p #新建2个目录,放置缓存文件
  2. mkdir /home/cache/temp -p

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

  1. client_body_buffer_size  512k;
  2. proxy_connect_timeout    5;
  3. proxy_read_timeout       60;
  4. proxy_send_timeout       5;
  5. proxy_buffer_size        16k;
  6. proxy_buffers            4 64k;
  7. proxy_busy_buffers_size 128k;
  8. proxy_temp_file_write_size 128k;
  9. proxy_temp_path   /home/cache/temp;
  10. proxy_cache_path  /home/cache/path levels=1:2 keys_zone=cache_one:500m inactive=7d max_size=30g;
  11. #500m是内存占用,7d是7天无访问删除,30g是缓存占具硬盘空间

以下为虚拟主机配置文件,可另存成 .conf 放置于 vhost 下面:

  1. server
  2. {
  3. listen          80;
  4. server_name     lucktang.com; #主机名
  5. location / {
  6. proxy_cache cache_one;
  7. proxy_cache_valid  200 304 3d; #正常状态缓存时间3
  8. proxy_cache_key $host$uri$is_args$args;
  9. proxy_pass          http://cache.lucktang.com/; #反代的网站
  10. proxy_redirect      off;
  11. proxy_set_header    X-Real-IP       $remote_addr;
  12. proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
  13. expires 10d; #默认10天缓存
  14. access_log  /home/wwwlogs/lucktang.log  access; #日志文件
  15. }
  16. }

点击几下网站,df -sh 命令,查看 /home/cache 目录大小,即可测试是否缓存成功。此脚本为前端全缓存,后端动态更新后,前端不会自动修改。可手动清理cache目录下文件。这个方法,可以用纯静态的形式来防CC,如果你的动态博客,受到CC攻击,可以尝试一下。
三、LNMP简单的一些防CC的办法
观看生成的.log日志文件,判断来路,直接301百度:

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

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

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

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

  1. cat com.log | grep 'Mozilla/5.0' | awk '{print "iptables -I INPUT -p tcp --dport 80 -s ", $1"-j DROP"}'| sort -n | uniq | sh
  2. if ($http_user_agent ~* 142.54.161.3 ) {rewrite ^(.*)$ http://www.baidu.com/ permanent;}

weinxin
LuckTang's Blog 站长语录
LuckTang's Blog,欢迎各位来访!这是我的QQ,扫一扫,加好友。大家一起交流博客建站技术,分享前沿资讯!
Wiki最后更新:2018-1-13
wordpress更换域名的几个步骤 WordPress

wordpress更换域名的几个步骤

打开新的空间的phpmyadmin(数据库控制面板) 然后选择新的数据库名,点击后,进入wp_开头的大于等于11个的表,然后选择选项卡里的sql,如图: 然后就是进行sql批量处理的命令了: UPDA...
StartSSL证书申请部署方法 Wiki

StartSSL证书申请部署方法

StartSSL是StartCom公司旗下的SSL证书,貌似是现在唯一一家提供免费SSL证书服务并且被主流浏览器支持的免费SSL,包括Chrome、Firefox、IE等浏览器都可以正常识别Start...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定