在日常的lua脚本调试中,我们通常会用ngx.say或者ngx.print来打印信息,但是要注意了,当你在ngx.redirect前面使用这两个方法时,就会报错哦
lua entry thread aborted: runtime error: attempt to call ngx.redirect after sending out the headers 但是用ngx.log方法一般是没有问题的
另外这里再记录一下,lua中的split实现方法,下面这个方法够简洁
string.split = function(s, p) local rt= {} string.gsub(s, '[^'..p..']+', function(w) table.insert(rt, w) end ) return rt end 使用示例:
这里主要记录Nginx服务器的反向代理proxy_pass配置方法中容易踩坑的地方,就是经常被提到的url的/问题的相关说明,需要的朋友可以参考下
普通反向代理 Nginx的普通的反向代理配置还是比较简单的,如:
location ~ /* { proxy_pass http://192.168.1.12:8080; } 或者可以
location / { proxy_pass http://192.168.1.12:8080; } 如果要配置一个相对复杂的反向代理,比如,将url中以/test/开头的请求转发到后台对应的某台server上
可以在Nginx里设置一个变量,来临时保存/test/后面的路径信息
location ^~ /test/ { if ($request_uri ~ /test/(\d+)/(.+)) { set $id $1; set $params $2; } proxy_pass http://backend$id.