记录上游请求 Nginx 反向代理。
2014-8-1 18:50:23
收藏:0
阅读:122
评论:2
我已经构建和配置了一个_Nginx_反向代理服务器。
我已经将日志设置为包括$upstream_http_location和其他各种变量。
我代理的服务器不返回位置头,这意味着我的$upstream_http_location不返回任何内容。
我想记录我的上游请求,以便我能够在日志中看到我向上游服务器发出的请求。
我想知道是否有一种简单的方法记录_Nginx_发出的出站请求,而不需要创建lua脚本,或者如果lua脚本是解决此问题的最佳方式,是否有人可以指导我搜索?
点赞
用户9552619
5年后我遇到了同样的问题。
如果nginx不能解决,我建议使用mitmproxy,但由于nginx无法处理出站代理,所以我必须使用另一个隧道二进制文件来解决它。
我使用了socat,但我认为stunnel也可以。以下是我的nginx配置示例
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host-Real-IP $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-Pcol http;
proxy_intercept_errors on;
proxy_pass https://127.0.0.1:9090/;
#127.0.0.1:9090是socat监听的地址
#
proxy_set_header Host [remote_host];
proxy_redirect https://[remote_host]/ https://[nginx_hostname]/;
以下是我的socat脚本,该脚本必须在我的nginx服务器上运行。
proxy=mitmproxy_address
proxyport=mitmproxy_port
forwarded_ip=your_server_address
forwarded_port=your_server_address_port
socat TCP4-LISTEN:9090,reuseaddr,fork PROXY:$proxy:$forwarded_ip:$forwarded_port,proxyport=$proxyport
至于mitmproxy,您应该看一下教程以了解其工作原理。您可以从以下内容开始:
mitmproxy -p 8888
如果您的服务器是自签名的,可以使用--insecure选项。
2018-12-11 14:50:34
评论区的留言会收到邮件通知哦~
推荐文章
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
在 Windows 上,我目前发现使用 Wireshark 是最好的方法,它可以捕获接口上的所有流量。
如果服务器仅监听回环地址,Wireshark 就不起作用(这适用于 ASP.NET 开发服务器)。在这种情况下,TcpTrace 可以通过将一个端口的所有 TCP 流量隧道到另一个端口来提供帮助。
(TcpTrace 还可以记录所有流量,可能可以单独使用,不需要 Wireshark)。
不确定这是否有帮助,因为您没有指定操作系统。