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

手机网站建设林肖php网站建设到护卫神

手机网站建设林肖,php网站建设到护卫神,六安网站自然排名优化价格,html中音乐网站怎么做文章目录前言一、基础组件下载二、组件安装1.luajit安装2.lua-nginx-module安装3.lua-resty-core安装4.lua-resty-lrucache安装5.ngx_devel_kit安装6.nginx加载lua模块7.lua-cjson安装8.lua-resty-string安装9.lua-resty-jwt安装10.lua-resty-hmac安装三、验证jwt中属性实现蓝绿… 文章目录前言一、基础组件下载二、组件安装1.luajit安装2.lua-nginx-module安装3.lua-resty-core安装4.lua-resty-lrucache安装5.ngx_devel_kit安装6.nginx加载lua模块7.lua-cjson安装8.lua-resty-string安装9.lua-resty-jwt安装10.lua-resty-hmac安装三、验证jwt中属性实现蓝绿发布样例1.nginx配置修改2.上传jwttoken.lua结尾前言 例如随着人工智能的不断发展机器学习这门技术也越来越重要很多人都开启了学习机器学习本文就介绍了机器学习的基础内容。 一、基础组件下载 luajit2-2.1-20220411.tar.gz #luajit官网存在一定的坑下载openresty的优化版本 https://github.com/openresty/luajit2/archive/refs/tags/v2.1-20220411.tar.gzlua-nginx-module-0.10.22.tar.gz # 0.10.16 以后都需要 lua-resty-core和lua-resty-lrucache https://github.com/openresty/lua-nginx-module/archive/refs/tags/v0.10.22.tar.gzlua-resty-core-0.1.24.tar.gz [lua-nginx-module依赖] https://github.com/openresty/lua-resty-core/archive/refs/tags/v0.1.24.tar.gzlua-resty-lrucache-0.12.tar.gz [lua-nginx-module依赖] https://github.com/openresty/lua-resty-lrucache/archive/refs/tags/v0.12.tar.gzngx_devel_kit-0.3.2.tar.gz https://github.com/vision5/ngx_devel_kit/archive/refs/tags/v0.3.2.tar.gznginx-1.21.6.tar.gz http://nginx.org/download/nginx-1.21.6.tar.gzlua-cjson-2.1.0.9.tar.gz https://github.com/openresty/lua-cjson/archive/refs/tags/2.1.0.9.tar.gzlua-resty-string-0.15.tar.gz https://github.com/SkyLothar/lua-resty-jwt/archive/refs/tags/v0.1.11.tar.gzlua-resty-jwt-0.1.11.tar.gz https://github.com/SkyLothar/lua-resty-jwt/archive/refs/tags/v0.1.11.tar.gzlua-resty-hmac-0.06.tar.gz https://github.com/SkyLothar/lua-resty-jwt/archive/refs/tags/v0.1.11.tar.gz 二、组件安装 1.luajit安装 编译 cd /opt/lua/ tar -zxvf v2.1-20210510.tar.gz cd luajit2-2.1-20210510 make make install加载 ln -s /usr/local/lib/libluajit-5.1.so.2 /lib64/liblua-5.1.so.2 echo /usr/local/lib /etc/ld.so.conf ldconfig配置环境变量 vi /etc/profile #增加下面内容 export LUAJIT_INC/usr/local/include/luajit-2.1 export LUAJIT_LIB/usr/local/lib #立刻生效 source /etc/profile2.lua-nginx-module安装 cd /opt/lua/ tar -zxvf lua-nginx-module-0.10.20.tar.gz3.lua-resty-core安装 cd /opt/lua/ tar -zxvf lua-resty-core-0.1.22.tar.gz cd lua-resty-core-0.1.22 make install PREFIX/usr/local/lua_core4.lua-resty-lrucache安装 cd /opt/lua/ tar -zxvf lua-resty-lrucache-0.10.tar.gz cd lua-resty-lrucache-0.10 make install PREFIX/usr/local/lua_core5.ngx_devel_kit安装 cd /opt/lua/ tar -zxvf ngx_devel_kit-0.3.1.tar.gz6.nginx加载lua模块 nginx安装可参考往期文章nginx安装部署详细手册 ./configure --prefix/opt/nginx/nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-openssl/opt/openssl-1.1.1t --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE2 -fexceptions -fstack-protector-strong --paramssp-buffer-size4 -grecord-gcc-switches -m64 -mtunegeneric -fPIC --with-ld-opt-Wl,-z,relro -Wl,-z,now -pie --add-module/opt/nginx/ngx_devel_kit-0.3.2 --add-module/opt/nginx/lua-nginx-module-0.10.22 make -j2 make installnginx.conf配置文件中http模块增加包依赖 lua_package_path /usr/local/lua_core/lib/lua/?.lua;;;增加lua测试代码 location /hello { default_type text/plain; content_by_lua ngx.say(hello, lua); }检查配置 /opt/nginx/sbin/nginx -t 加载配置 /opt/nginx/sbin/nginx -s reload访问192.168.19.110/hello返回hello,lua说明nginx集成lua成功 至此已经可以使用lua基本功能了笔者因想使用lua实现jwt校验所以后续还需要安装cjson和retry-http 7.lua-cjson安装 cd /opt/lua tar -zxvf /lua-cjson-2.1.0.9.tar.gz cd lua-cjson-2.1.0.9修改Makefile指定luajit vi Makefile将LUA_INCLUDE_DIR的值$(PREFIX)/include改为/usr/local/include/luajit-2.1 make make install cp cjson.so /usr/local/lib/lua/5.1/ chmod 755 /usr/local/lib/lua/5.1/cjson.so8.lua-resty-string安装 cd /opt/lua/ tar -zxvf lua-resty-string-0.15.tar.gz cd lua-resty-string-0.15 make install PREFIX/usr/local/lua_core9.lua-resty-jwt安装 cd /opt/lua/ tar -zxvf lua-resty-jwt-0.1.11.tar.gz cp lua-resty-jwt-0.1.11/lib/resty/* /usr/local/lua_core/lib/lua/resty10.lua-resty-hmac安装 cd /opt/lua/ tar -zxvf lua-resty-hmac-0.06.tar.gz cp lua-resty-hmac-0.06/lib/resty/* /usr/local/lua_core/lib/lua/resty至此lua和jwt都集成完成可以通过下面样例进行测试 nginx.conf配置文件中http模块增加包依赖 lua_package_path /usr/local/lua_core/lib/lua/?.lua;;;增加lua测试代码 location /verify {default_type text/html;content_by_lua local cjson require cjsonlocal jwt require resty.jwtlocal jwt_token eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9 ...eyJmb28iOiJiYXIifQ ...VAoRL1IU0nOguxURF2ZcKR0SGKE1gCbqwyh8u2MLAyYlocal jwt_obj jwt:verify(lua-resty-jwt, jwt_token)ngx.say(cjson.encode(jwt_obj)); }三、验证jwt中属性实现蓝绿发布样例 1.nginx配置修改 nginx.conf增加demo路由并依赖自己写的jwttoken.lua #demo location /sign {access_by_lua_block {local jwt require jwttoken--type,value,redirectUrl(蓝绿类型,具体值,重定向地址)--1-按员工code蓝绿2-按部门id蓝绿3-按ip蓝绿jwt.auth(1,1001,http://www.baidu.com)ngx.say(hello world)} }2.上传jwttoken.lua 将jwttoken.lua放到nignx所在服务器的/usr/local/lua_core/lib/lua/目录下 代码如下 -- nginx-jwt.lualocal cjson require cjson local jwt require resty.jwt--your secret local secret yoursecret --无需鉴权api清单 local no_need_token_api_list {/v1/login} local function ignore_url (val)for index, value in ipairs(no_need_token_api_list) doif (value val) thenreturn trueendendreturn false end--获取客户端ip local function get_client_ip()local headers ngx.req.get_headers()local ip headers[X-REAL-IP] or headers[X_FORWARDED_FOR] or ngx.var.remote_addr or 0.0.0.0return ip endlocal M {}function M.auth(type,value,redirectUrl)if ignore_url(ngx.var.request_uri) thenreturnelseend-- 根据ip判定蓝绿发布if(type 3) thenlocal ip get_client_ip()if(ip value) thenngx.redirect(redirectUrl)elsereturnendend-- require Authorization request headerlocal auth_header ngx.var.http_Authorizationif auth_header nil thenngx.log(ngx.DEBUG, No Authorization header)return--ngx.exit(ngx.HTTP_UNAUTHORIZED)end-- require Bearer tokenlocal _, _, token string.find(auth_header, Bearer%s(.))if token nil thenngx.log(ngx.DEBUG, Missing token)return--ngx.exit(ngx.HTTP_UNAUTHORIZED)end--decode_base64和后端保持一致local jwt_obj jwt:verify(ngx.decode_base64(secret), token)--if jwt_obj.verified false then-- ngx.log(ngx.ERR, Invalid token: .. jwt_obj.reason)-- ngx.status ngx.HTTP_UNAUTHORIZED-- ngx.say(cjson.encode(jwt_obj))-- ngx.header.content_type application/json; charsetutf-8-- ngx.exit(ngx.HTTP_UNAUTHORIZED)--endif jwt_obj.payload ~ nil thenngx.log(ngx.DEBUG, cjson.encode(jwt_obj))-- 根据员工code判定蓝绿发布if(type 1) thenif jwt_obj.payload.emplCode value thenngx.redirect(redirectUrl)elsereturnend-- 根据部门id判定蓝绿发布elseif(type 2) thenif jwt_obj.payload.departId value thenngx.redirect(redirectUrl)elsereturnendendendendreturn M 完成后重新加载nginx配置即可 加载配置 /opt/nginx/sbin/nginx -s reload结尾 感谢大家的耐心阅读如有建议请私信或评论留言。如有收获劳烦支持关注、点赞、评论、收藏均可博主会经常更新与大家共同进步
http://www.hkea.cn/news/14474159/

相关文章:

  • 苏州 网站设计昆明网站建设SEO公司
  • 网站怎么谈设计四川省建设三类职称网站
  • 建设网站是要先建站在备案么北京网站建设 标准型 新翼
  • 如何让百度搜到网站工作总结2023最新完整版
  • 服饰网站建设规划书做一个网站的建设流程
  • 上海做响应式网站的公司大连百度代理
  • 创新的盐城网站建设手机网站展示
  • 网站建设与网页设计 难学吗上海市五金外贸公司
  • 嘉兴做微网站多少钱建设局是做什么的
  • app开发搭建淄博网站排名seo
  • 网站建设金手指稳定win10 电脑做网站服务器吗
  • 网站开发工作容易出现的失误三五互联做网站吗
  • 深圳高端集团网站建设公司WordPress 任务悬赏插件
  • 注册域名的官方网站广州微网站建设效果
  • 代码统计网站常德网站建设培训机构
  • 建立网站的顺序项目设计方案
  • 电子商务网站建设的意义是什么意思电脑上用手机app是什么软件
  • 中国公司查询网站wordpress不居中
  • 网站建设方投资成本网站排名软件多浏览器
  • 井冈山保育院网站建设网站设计的公司运营接单
  • 网站建设douyanet个人做网站要注意什么条件
  • 网站建设的基本要求织梦网站文章内容模板
  • 网站建设网站推广优化二手网站怎么做
  • 南山网站建设公司乐云seo免费word模板
  • 河南省濮阳市建设局网站广告投放平台系统
  • 360路由器做网站网站建设项目策划书
  • 微信官网站国外短视频软件
  • 耒阳网站建设黄页网如何注册
  • 遵义网站建设网站公司注册流程图及时间
  • 气血不足做网站接外包活去什么平台