我有一个指向 SaaS 应用程序 (BigCommerce) 的 Nginx 反向代理设置。虽然我的配置运行良好,但我无法确保客户端 IP显示在 SaaS 后端而不是反向代理 IP中。在 SaaS 后端,没有机制可以添加或使用受信任的 IP 地址列表set_real_ip_from,real_ip_header因此我的任务是在反向代理上实施proxy_protocol,以确保 IP 标头使用客户端的 IP 而不是通过反向代理传递。它自己的。
在http server上下文中
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host:$server_port;
# support http 1.1 persistent connections
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
Run Code Online (Sandbox Code Playgroud)
当我在 http 服务器上下文中启用proxy_protocol指令listen时(例如listen 443 ssl http2 proxy_protocol),我Broken Header …
我使用的是Squid proxy 3.1,局域网内的所有系统都通过代理连接到互联网。使用来自网关服务器的 iptables 阻止直接连接。
有些设备没有自动代理或手动代理的选项,只能直接连接到互联网。所以我在 Squid 中启用了透明代理,并使用 iptables 将端口 80 和 443 的数据包重定向到 Squid 代理。
现在的问题是它对 HTTP 端口工作正常,但 HTTPS 不工作。它抛出“ssl_error_rx_record_too_long”错误。
如果无法通过透明代理,请给我建议另一种解决方案。
温暖的问候
苏普拉蒂克
在 iptables 中,我正在记录某些公共 IP 地址……比如从不同工作站访问的网站,具体取决于目标端口号……所有这些都与问题无关,但我只是在这里说明,所以我的目标变得清晰。
现在我要分析数据...我只有IP地址...获得域名的最佳方法是什么。好的,我知道您可以使用 nslookup 和 dig 但显示的域名可能是 DNS 数据中的 A 记录,这通常不是人们正在寻找的域名...
我对细节有点模糊……但我需要的是,例如,有人访问 cnbc.com,我查看记录的 IP 地址,并获得从亚马逊网络服务到 facebook.com 的各种域。记录 IP 的最近域是 nbcuni.com...
是否有一些“服务”、API、软件、第三方解决方案可用于获取给定 IP 的“最接近”可识别域名?
编辑:还有另一个问题......监控系统似乎可以处理它们。代理系统(如下推荐)无法区分指定的 URL 和所访问页面中内容的 URL。或者他们可以吗?任何访问过的 URL,在浏览器中明确指定或间接显示在页面中的任何 URL 都将显示为访问过的 URL。有没有办法区分?通过代理日志还是其他方式?
我已经设置了一个透明代理,可以squid监听 8080(http) 8443(https),并且可以正常工作。
另外,我设置了 iptables 来重定向请求。
iptables -t nat -A PREROUTING -i wlan0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
iptables -t nat -A PREROUTING -i wlan0 -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 8443
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Run Code Online (Sandbox Code Playgroud)
如果我设置显式代理来替换鱿鱼,http 仍然有效,但 https 不起作用(https 代理执行 MITM,我信任证书)。
我想知道使用 iptables REDIRECT 和显式设置浏览器代理之间的区别。代理是否以某种方式处理它?
我所在的公司曾警告我不要使用聊天工具。
我与其中一位管理员交谈过,他说每一次聊天都受到监控;
好的,我同意如果我们使用纯文本可以,但如果我们使用 ssl 会怎样。
我在 gmail 中聊天时使用了 tcpdump,但我看不到任何未加密的消息(不确定我是否以正确的方式这样做)。
我听说过执行MITM进行跟踪的代理,但在这种情况下,我没有收到有关任何无效证书或握手的警告。这真的可以在不破坏 ssl 连接的情况下监控加密聊天吗?