lua_nginx_module用例
2024-08-25 16:32:16
content_by_lua
server {
listen ;
server_name lua.luckybing.top;
location / {
default_type 'text/plain';
content_by_lua '
if ngx.var.remote_addr=="203.100.83.125" then
ngx.say("hello,from yunxiao")
else
ngx.say("hello,from other")
end';
}
}
rewrite_by_lua
server {
listen ;
server_name lua.luckybing.top;
location / {
rewrite_by_lua '
if ngx.var.remote_addr=="203.100.83.125" then
return ngx.redirect("http://www.luckybing.top", )
else
return ngx.redirect("http://chat.luckybing.top", )
end';
}
}
access_by_lua
server {
listen ;
server_name lua.luckybing.top;
location @client{
proxy_pass http://www.baidu.com;
}
location / {
access_by_lua '
if ngx.var.remote_addr=="203.100.83.125" then
ngx.exit(ngx.HTTP_FORBIDDEN)
else
ngx.exec("@client")
end';
}
}
rewrite_by_lua
server {
listen ;
server_name lua.luckybing.top;
location @client{
proxy_pass http://47.95.222.240:3000;
}
location @client2{
proxy_pass http://47.95.222.240:4000;
}
location / {
default_type 'text/html';
#ngx.var.remote_addr
rewrite_by_lua '
myIP = ngx.req.get_headers()["X-Real-IP"]
if myIP == nil then
myIP = ngx.req.get_headers()["x_forwarded_for"]
end
if myIP == nil then
myIP = ngx.var.remote_addr
end if myIP=="203.100.83.125" then
ngx.exec("@client2")
else
ngx.exec("@client")
end';
}
}
lua-nginx 负载均衡
upstream wxqy {
ip_hash;
server 127.0.0.1:;
server 127.0.0.1:;
} server {
listen ;
server_name wxqy.iyunxiao.net;
server_tokens off;
access_log off; location @client{
proxy_pass http://wxqy;
}
location @client2{
proxy_pass http://127.0.0.1:4002;
} location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#proxy_pass http://wxqy;
default_type 'text/plain';
rewrite_by_lua '
myIP = ngx.req.get_headers()["X-Real-IP"]
if myIP == nil then
myIP = ngx.req.get_headers()["x_forwarded_for"]
end
if myIP == nil then
myIP = ngx.var.remote_addr
end
if myIP=="172.31.0.2" then
ngx.exec("@client2")
else
ngx.exec("@client")
end'; }
}
最新文章
- Java使用Fork/Join框架来并行执行任务
- $scope 的生命周期
- LeetCode 397. Integer Replacement
- Coursera Robotics系列课心得
- 解析Visual Studio 2015促进生产力的10个新功能
- C#----对时间结构DateTime的使用(时间日期的使用)
- 深入理解OpenGL拾取模式(OpenGL Picking)
- (转)OpenVPN使用HTTP代理连接服务器
- svn 1.8.11 命令行提交新添加文件错误
- &;lt和&;gt
- 【Xamarin 开发 IOS --IOS ViewController生命周期】
- /etc/nginx/nginx.conf配置文件详解
- R语言预测实战(游浩麟)笔记1
- jQuery汇总
- php配置文件php.ini的详细解析(续)
- linux 日常中会用到的命令(持续更新)
- 第六章-Javac符号表
- C#开发利器 Linq Pad 相关
- Unity3D 程序打包报错(程序是连接数据库进行处理的)
- Java基础知识陷阱(九)