使用openresty配置proxy
server {
listen 9999;
resolver 233.5.5.5 233.6.6.6 114.114.114.114 valid=3600s;
location ~.*\.(jpg|png|jpeg|gif|js|css)$ {
proxy_pass http://$http_host$request_uri;
}
location / {
allow xx.xx.xx.xx;
deny all;
default_type 'text/plain';
access_by_lua_block {
-- 业务逻辑(主要是记录此http详情到redis)
}
proxy_pass http://$http_host$request_uri;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
在业务逻辑中我想要记录用户访问的完整url地址
我的代码是取
local host=ngx.var.host or "-"
local port=ngx.var.server_port or "-"
host = host..":"..port ..uri
当我的请求地址是非80端口时(比如 http://192.168.1.1:8080/login),我发现端口一直取不到。
求助:如何取到端口号(8080)???
我测试过nginx几个变量 proxy_port, remote_port, server_port 都不行。。