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

图书馆网站建设情况精美的微网站

图书馆网站建设情况,精美的微网站,建站行业发展,住房和建设局网站求背景 为了封禁某些爬虫或者恶意用户对服务器的请求#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/5958/

相关文章:

  • 做网站可以不写代码中文网站排名
  • 网站建设什么公司专业怎么开小程序店铺
  • 定制网站开发成本估算表酒店的网络营销是什么
  • 银川网站建设公司电话简述什么是百度竞价排名
  • 长沙建网站理生鲜网站建设规划书范文
  • 网站优化成本郑州世界工厂网
  • 在ps做网站分辨率96可以吗wordpress前台投稿
  • 网站建设数据表设计 性别课程网站开发流程图及原型图
  • 北京住房城乡建设厅网站首页网站建设上传
  • 岱岳区网站设计专业做二手房的网站有哪些
  • 上海网站设计工具网站如何做sem推广
  • 建设电子网站前的市场分析找个网站看看
  • 机械公司网站源码动画设计和动漫设计的区别
  • 美食攻略网站建设课程设计安徽网新科技集团
  • 学网站软件设计网站建设风格
  • 彩妆网站建设策划书东乡建设网站
  • 备案网站容易被收录北京怎样做企业网站
  • 张家港百度网站推广wordpress汉化插件软件
  • 做网站怎么切片成都网站建设的公司哪家好
  • 网站建设认知与理解宽带哪家好
  • 网站布局是什么样的网站开发报价表模板
  • 一个电信ip做网站卡不卡网络营销运营系统策划
  • jsp 企业建站广告设计公司怎么找业务
  • 抖音网站怎么做logo设计公司成都
  • 麓谷网站建设公司百度注册新账号
  • 外贸网站优化哪家好西安优化seo
  • 重庆网站建设 红旗河沟太原网络营销网站
  • wordpress个人主题免费seo工具大全
  • 网站域名解析步骤西安网红打卡景点排行榜
  • 兰州做网站改版的公司seo关键词优化提高网站排名