NGINX + LUA 实现身份验证
以前所有的身份验证都是写在代码里面的.后来有一天,遇到个没有认证功能的web,需要从我们的服务器出去…..折腾了这个东西.
说是nginx + lua 其实我说谎了…..我使用的是OpenResty
没有找到 win平台nginx + lua的安装教程
下载地址:官网下载页面
下载解压后目录和nginx差不多.所以就直接上配置文件了.
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://www.test.com/;
proxy_redirect default;
# 使用lua进行权限验证
access_by_lua '
-- 判断名为Token的Cookie是否存在
local cookie_name = "cookie_Token"
if ngx.var[cookie_name] == null then
-- 如果cookie不存在返回401错误
ngx.exit(ngx.HTTP_UNAUTHORIZED)
-- 也可以直接跳转到登录地址
-- return ngx.redirect("http://登录地址")
end
';
}
}
我这里是读取cookie并判断cookie的真实性(其实只判断了cookie是否存在).
每个系统判断的方法不一样,所以没有上判断的代码.
(完)