Nginx 使用 Lua 模块校验 Token

本文介绍了如何利用 Nginx 的 Lua 模块进行 Token 校验,以增强服务器的安全性。通过在 Nginx 配置中嵌入 Lua 代码,实现了对用户访问权限的验证。文章详细讲述了安装 Lua-nginx-module 和 Nginx 的过程,以及如何在 Java 代码中生成带有时间戳和 Token 的 URL。同时,还讨论了因系统时间不一致可能导致的问题及解决方案。
摘要由CSDN通过智能技术生成

Nginx 使用 Lua 模块校验 Token

前言

最近在折腾 FastDFS 系统,用 FastDFS 来存放一些小文件(在之前学习的一个商城项目中,用来做图片服务器,存放商品的图片)。当然,一般情况下,别人都是可以直接访问的。不过后来又想,能不能添加一个验证,对用户的权限进行校验是否可以访问。

尝试过使用 FastDFS 内置防盗链功能,不过这样子每台 FastDFS 服务器都需要配置一下。于是乎在想,能不能在统一入口的 Nginx 服务器上进行校验了。这样子是不是省事一些,而且之后也可以用在其它地方。

于是乎,就发现了一个 Nginx 的第三方模块 —— lua-nginx-module。将 lua 语言嵌入到 Nginx 配置中,从而增强了 Nginx 的能力(即使从来未接触过 Lua,不过多看看别人的代码,然后不断地实践,总能把问题解决的)。于是乎,就使用 Nginx + lua-nginx-module 来验证 Token 信息。


环境说明

系统环境
  • 虚拟机工具 :VMware Workstations 14 Pro
  • 操作系统 :CentOS 7 64位
  • IP 地址:192.168.229.165
相关安装包

将以上安装包下载后,拷贝到系统 /root 目录下


Nginx 安装与配置

Nginx 及模块安装
# 安装 Nginx 依赖环境
yum install gcc gcc-c++ make automake autoconf libtool pcre* zlib openssl openssl-devel
# 解压安装包
cd /root
tar zxvf LuaJIT-2.0.5.tar.gz
tar zxvf lua-nginx-module-0.10.13.tar.gz
tar zxvf nginx-1.15.1.tar.gz
# LuaJIT 安装
cd /root/LuaJIT-2.0.5
make && make install
# Nginx 添加 lua_nginx_module 模块安装
cd /root/nginx-1.15.1
./configure --add-module=../lua-nginx-module-0.10.13/
make && make install
# 查看 Nginx 是否安装成功
/usr/local/nginx/sbin/nginx -v
# nginx version: nginx/1.15.1 则表示安装成功
# 可能出现以下错误,则需要建立软链接:/usr/local/nginx/sbin/nginx: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory
ln -s /usr/local/lib/libluajit-5.1.so.2 /lib64/l
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值