我正在使用nginx和lua解析我的rest api(https://openresty-reference.readthedocs.io/en/latest/Lua_Nginx_API/)。我试图在我的rest调用内部调用另一个api,这是另一个服务器,并返回该响应。但是它总是得到空洞的响应。下面是我的配置,我要求/ student任何帮助都是非常重要的
location /student {
content_by_lua '
local str = "test"
local res = ngx.location.capture("/detail",{method = ngx.HTTP_POST, body = str})
ngx.say(str)
';
}
location /detail {
set $target '104.28.17.1/post';
set $pass 'Basic Y2l28=';
lua_need_request_body on;
content_by_lua '
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#access_by_lua '
proxy_set_header Authorization $pass;
proxy_set_header Content-Type 'application/x-www-form-urlencoded';
proxy_set_header Accept '*/*';
proxy_set_header Connection 'keep-alive';
proxy_pass http://$target;
}
答案 0 :(得分:0)
尝试将您的位置/学生更改为
location /student {
content_by_lua '
local str = "test"
local res = ngx.location.capture("/detail",{method = ngx.HTTP_POST, body = str})
ngx.status = 200
ngx.say(str)
ngx.exit(ngx.HTTP_OK)
';
}