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'; }
}

最新文章

  1. Java使用Fork/Join框架来并行执行任务
  2. $scope 的生命周期
  3. LeetCode 397. Integer Replacement
  4. Coursera Robotics系列课心得
  5. 解析Visual Studio 2015促进生产力的10个新功能
  6. C#----对时间结构DateTime的使用(时间日期的使用)
  7. 深入理解OpenGL拾取模式(OpenGL Picking)
  8. (转)OpenVPN使用HTTP代理连接服务器
  9. svn 1.8.11 命令行提交新添加文件错误
  10. &lt和&gt
  11. 【Xamarin 开发 IOS --IOS ViewController生命周期】
  12. /etc/nginx/nginx.conf配置文件详解
  13. R语言预测实战(游浩麟)笔记1
  14. jQuery汇总
  15. php配置文件php.ini的详细解析(续)
  16. linux 日常中会用到的命令(持续更新)
  17. 第六章-Javac符号表
  18. C#开发利器 Linq Pad 相关
  19. Unity3D 程序打包报错(程序是连接数据库进行处理的)
  20. Java基础知识陷阱(九)

热门文章

  1. 计算机基础知识和tcp详解
  2. X的平方根(二分)
  3. 加密模块(md5)
  4. VS2013安装及破解教程
  5. jwt-dotnet使用示例
  6. C# 注册Dll文件
  7. linux下蓝牙开发(bluez应用)
  8. ActiveMQ消息队列的搭建和使用
  9. feign调用过程注意事项
  10. [SP1825] Free tour II