当前位置: 首页 > news >正文

门户网站有中国建设网站简州新城土地整改项目

门户网站有,中国建设网站简州新城土地整改项目,Wordpress提高pagespeed,wordpress游戏小程序求背景 为了封禁某些爬虫或者恶意用户对服务器的请求#xff0c;我们需要建立一个动态的 IP 黑名单。对于黑名单之内的 IP #xff0c;拒绝提供服务。并且可以设置失效 1.安装Openresty#xff08;编译安装#xff09; wget https://openresty.org/download/openresty-1.…求背景 为了封禁某些爬虫或者恶意用户对服务器的请求我们需要建立一个动态的 IP 黑名单。对于黑名单之内的 IP 拒绝提供服务。并且可以设置失效 1.安装Openresty编译安装 wget https://openresty.org/download/openresty-1.19.3.1.tar.gz # 解压openresty tar -zxvf openresty-1.19.3.1.tar.gz 下载缓存插件   wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz#解压缓存插件 tar -zxvf ngx_cache_purge-2.3.tar.gz cd openresty-1.19.3.1/ mkdir modules # 把刚解压的ngx_cache_purge移动到该目录下 编译OpenResty 选择需要的插件启用, –with-Components 激活组件–without 则是禁止组件 ,–add-module是安装第三方模块。 进入刚刚解压好的openresty-1.19.3.1根目录下执行命令 ./configure --prefix/usr/local/openresty --with-luajit --without-http_redis2_module --with-http_stub_status_module --with-http_v2_module --with-http_gzip_static_module --with-http_sub_module --add-module/usr/local/openresty-1.19.3.1/modules/ngx_cache_purge-2.3 –prefix/usr/local/openresty 刚自己创建的目录用来存放编译后的openresty–add-module/usr/local/openresty-1.19.3.1/xxx 存放第三方插件的位置 2.安装redis 这里我是基于docker安装的redis  docker run --restartalways -p 6379:6379 --name myredis -d redis:7.0.12 --requirepass xxx- -requirepass 是redis密码 3.写lua脚本 ip_bind_time 30 --封禁IP多长时间 ip_time_out 6 --指定统计ip访问频率时间范围 connect_count 10 --指定ip访问频率计数最大值 --上面的意思就是6秒内访问超过10次自动封 IP 30秒。--连接redis local redis require resty.redis local cache redis.new() local ok , err cache.connect(cache,127.0.0.1,6379) -- redis密码 local res, err cache:auth(xxx) cache:set_timeout(60000)--如果连接失败跳转到脚本结尾 if not ok thengoto Lastend end--查询ip是否在封禁段内若在则返回403错误代码 --因封禁时间会大于ip记录时间故此处不对ip时间key和计数key做处理 is_bind , err cache:get(bind_..ngx.var.remote_addr)if is_bind 1 thenngx.exit(ngx.HTTP_FORBIDDEN)-- 或者 ngx.exit(403)-- 当然你也可以返回500错误啥的搞一个500页面提示亲您访问太频繁啥的。goto Lastend endstart_time , err cache:get(time_..ngx.var.remote_addr) ip_count , err cache:get(count_..ngx.var.remote_addr)--如果ip记录时间大于指定时间间隔或者记录时间或者不存在ip时间key则重置时间key和计数key --如果ip时间key小于时间间隔则ip计数1且如果ip计数大于ip频率计数则设置ip的封禁key为1 --同时设置封禁key的过期时间为封禁ip的时间if start_time ngx.null or os.time() - start_time ip_time_out thenres , err cache:set(time_..ngx.var.remote_addr , os.time())res , err cache:set(count_..ngx.var.remote_addr , 1) elseip_count ip_count 1res , err cache:incr(count_..ngx.var.remote_addr)if ip_count connect_count thenres , err cache:set(bind_..ngx.var.remote_addr,1)res , err cache:expire(bind_..ngx.var.remote_addr,ip_bind_time) --fix keysend end --结尾标记 ::Lastend:: local ok, err cache:close() #user nobody; worker_processes 1;#error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info;#pid logs/nginx.pid;events {worker_connections 1024; }http {include mime.types;default_type application/octet-stream;#log_format main $remote_addr - $remote_user [$time_local] $request # $status $body_bytes_sent $http_referer # $http_user_agent $http_x_forwarded_for;#access_log logs/access.log main;sendfile on;#tcp_nopush on;#keepalive_timeout 0;keepalive_timeout 65;#gzip on;server {listen 80;server_name localhost;#charset koi8-r;#access_log logs/host.access.log main;location / {root html;index index.html index.htm;access_by_lua_file /usr/local/openresty/nginx/lua/access_by_redis.lua;}#error_page 404 /404.html;# redirect server error pages to the static page /50x.html#error_page 500 502 503 504 /50x.html;location /50x.html {root html;}# proxy the PHP scripts to Apache listening on 127.0.0.1:80##location ~ \.php$ {# proxy_pass http://127.0.0.1;#}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000##location ~ \.php$ {# root html;# fastcgi_pass 127.0.0.1:9000;# fastcgi_index index.php;# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;# include fastcgi_params;#}# deny access to .htaccess files, if Apaches document root# concurs with nginxs one##location ~ /\.ht {# deny all;#}}# another virtual host using mix of IP-, name-, and port-based configuration##server {# listen 8000;# listen somename:8080;# server_name somename alias another.alias;# location / {# root html;# index index.html index.htm;# }#}# HTTPS server##server {# listen 443 ssl;# server_name localhost;# ssl_certificate cert.pem;# ssl_certificate_key cert.key;# ssl_session_cache shared:SSL:1m;# ssl_session_timeout 5m;# ssl_ciphers HIGH:!aNULL:!MD5;# ssl_prefer_server_ciphers on;# location / {# root html;# index index.html index.htm;# }#}}启动下就可以了
http://www.zqtcl.cn/news/501494/

相关文章:

  • 私人ftp服务器seo整站如何优化
  • 做网站的工作叫什么美工需要会哪些软件
  • 阿克苏网站建设咨询海南跨境免税电商入驻流程
  • 母婴网站模板在线设计网站海报
  • 网站关键词优化公司哪家好如何跟客户沟通网站建设
  • 山西省经济建设投资公司网站滁州网站建设
  • 优秀设计网站哈尔滨vi设计公司
  • 如何建购物网站论坛类的网站怎样做
  • 河南省建设工程招投标协会网站安卓开发软件工具
  • 中国空间站wordpress无法选择服务器配置
  • 郑州家居网站建设服务公司asp网站助手
  • 做网站一般几个人WordPress 中英文翻译
  • 有没有兼职做网站的化工企业建网站
  • 石家庄展厅设计公司黑帽seo怎么做网站排名
  • 网站开发维护成本计算wordpress 无法访问
  • 永久免费做网站营销软文广告
  • 网站规划怎么写wordpress如何搭建博客
  • 网站索引页面网站做302重定向会怎么样
  • 精品成品冈站源码免费企业网站的内容模块
  • 网站策划的最终体现南宁网站建设培训学校
  • 网站不备案打不开怎么建网站不用买空间
  • 有没有IT做兼职的网站百度收录入口提交
  • 普洱市建设局网站重庆工程建设信息查询
  • 上海网站设计多少钱wap网站生成微信小程序
  • 广州网站到首页排名做图骂人的图片网站
  • 公司的网站建设价格wordpress付费阅读文章功能
  • 飞鸽网站建设建设网站什么软件比较好
  • 网站名称 规则网站seo完整seo优化方案
  • 昆明网站建设高端定制wordpress建站课程
  • 建网站外包wordpress 便利贴