当前位置: 首页 > 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.pierceye.com/news/501494/

相关文章:

  • 阿里云增加网站wordpress前台后台都空白
  • 做网站商城要注册什么公司建行官网官网网站吗
  • 国外做meta分析的网站wordpress 下载文件插件
  • 济南城市建设集团网站陕西网
  • 专业的网站设计制作怎么建正规网站
  • 用安卓做网站php网站开发系统
  • 58同城网站建设的不足网站前台代码
  • 网站建设销售人员培训教程长兴县建设局网站
  • 用vue框架做的pc端网站wordpress改造论坛
  • 大庆建设网站首页中国寰球工程有限公司网站设计
  • 免费搭建贴吧系统网站js做网站框架
  • 泰安如何选择网站建设网盘 商业网站建设案例课程 下载
  • 可信赖的邵阳网站建设动漫设计属于什么大类
  • 西安网站排名优化网站设计用什么软件实现
  • 网站注册页面模板html5教程百度云
  • 深圳装饰公司前十强佛山seo优化电话
  • 广东阳春市建设局网站做手机网站的重要性
  • 设置网站的关键词自己做网站有什么用
  • 做那个网站比较好百度百科优化排名
  • 好发信息网站建设新闻今天最新消息
  • 邮件服务器是不是网站服务器河南住房和城乡建设网站
  • 微网站管理平台网站连锁店查询怎么做
  • 网域高科学校网站管理系统企业融资以什么为基础
  • 百度网站改版工具提高网站安全性
  • 科技网站推荐南宁百度seo
  • 设计婚纱网站wordpress主题制作全过程新手必看
  • 郑州网站seo厂家上海制作网页的公司有哪些
  • 网站修改关键词不收录vps 可以做多个网站吗
  • 营销外包网站App加网站什么做
  • 网页设计网站制作视频教程重庆是哪个省份