server {
listen 38090;
access_by_lua_block {
local require = require
local ipmatch = require("resty.ipmatcher")
local ip, err = ipmatch.new({
"192.168.10.100",
"172.0.0.0/8",
"127.0.0.1"
})
if not ip then
ngx.log(ngx.ERR, "new ipmatcher err: ", err)
end
local h = ngx.req.get_headers()["addr"]
if not h then
ngx.log(ngx.ERR, "get request header is null!")
end
local exist, err = ip:match(h)
if exist then
ngx.log(ngx.ERR, "此IP在白名单内: 放行, ip: ", h)
else
ngx.log(ngx.ERR, "此IP不在白名单内: 拒绝, ip: ", h)
return ngx.exit(403)
end
}
location / {
echo "success!";
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫