是否可以在 Nginx 中使用 proxy_pass 删除查询字符串?例如,我将我的 nginx 称为:
http://nginxproxy.com/api/v1/logout?session=123
Run Code Online (Sandbox Code Playgroud)
并希望将其代理到:
http://example.com/api/sessions/?_action=logout
Run Code Online (Sandbox Code Playgroud)
没有查询字符串“session=123”。
目前我的设置只是添加我传递给 proxy_pass URL 的任何查询字符串。
location /api/v2/logout {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Session $arg_token;
proxy_pass http://example.com/api/sessions/?_action=logout;
}
Run Code Online (Sandbox Code Playgroud) 我试图弄清楚如何将API网关中的Lambda响应映射到不同的状态代码,同时从我的Lambda函数接收JSON对象.
我在Lambda中有以下内容:
context.done('Not Found:',jsonObject);
Run Code Online (Sandbox Code Playgroud)
在我的API网关中,在集成响应中,我在403上有一个Lambda错误正则表达式,上面写着Not Found:.*.这样做,该方法返回一个返回403.
问题是我似乎无法返回jsonObject.我试图创建一个看起来像这样的应用程序/ json映射模板(也在集成响应下):
{"error" : $input.json('$')}
Run Code Online (Sandbox Code Playgroud)
但这只会导致我的回答看起来像这样:
{"error" : {"errorMessage":"Not Found:"}}
Run Code Online (Sandbox Code Playgroud)
我误解了映射模板吗?