反向代理和端口转发区域

正向代理和反向代理的区域:
正向代理:是代理客户端,为客户端收发请求,使真实客户端对服务器不可见;在客户这一端的,替客户收发请求(类似现在正常使用的charles的功能)
反向代理:是代理服务器,为服务器收发请求,使真实服务器对客户端不可见;在服务器这端的,替服务器收发请求,应用场景常见是就是请求分发到多台服务器的负载均衡应用。
一句话就是:
正向代理:代理端代理的是客户端。
反向代理:代理端代理的是服务端。

反向代理的设置

本地端口;

本地主机上的端口创建反向代理。该字段可能会自动填充一个可用的端口。如果有另一个应用程序使用该端口,则在反向代理启动时将收到一条警告消息。

例如。给定本地端口8001,您将连接到http:// localhost:8001 /

远程主机和端口

作为反向代理的目的地的远程主机的主机名或IP地址和端口。远程端口默认为80,这是HTTP的默认端口。

例如。输入xk72.com的远程主机和80的远程端口,然后http:// localhost:8001 /将像您已连接到http://xk72.com/

Charles07--反向代理和端口转发_端口转发

重写重定向

重定向远程服务器的响应将被重写以与反向代理源地址相匹配。默认为开。
远程服务器的重定向响应是完全限定的URL,即使它们在同一网站内。

如果重定向到远程服务器地址,则需要将其重写为反向代理本地地址,否则客户端将使用重定向URL到远程主机,因此不再通过反向代理连接。

保留主机头

Host HTTP标头从传入请求不变地传递,而不是正常重写主机头以匹配反向代理远程主机。默认为关闭。

仅当您具有特定要求时,才需要保留主机头;普通使用的时候没有必要使用的。

监听特定地址

如果要指定本地地址以侦听反向代理,则可以启用此选项并在此处输入IP地址。如果要在同一台机器上运行多个网络服务,但在同一台机器上的不同IP地址上运行,则此功能非常有用。

禁用此选项时,反向代理将绑定到所有可用的本地地址。

端口转发

端口转发(Port forwarding),有时被叫做隧道,是安全壳(SSH) 为网络安全通信使用的一种方法。端口转发是转发一个网络端口从一个网络节点到另一个网络节点的行为,其使一个外部用户从外部经过一个被激活的NAT路由器到达一个在私有内部IP地址(局域网内部)上的一个端口。

Charles07--反向代理和端口转发_反向代理_02

端口转发使您能够将本地TCP或UDP端口透明地转发到远程主机和端口。 所有在端口的请求和回复可能会记录在查尔斯。

端口转发流量记录在Charles中作为socket:// host:port / URL
如果您有要使用Charles监控的非HTTP应用程序,则端口转发非常有用。

将端口创建到原始目标服务器,然后将客户端应用程序连接到本地端口; 端口转发对客户端应用程序是透明的,并使您能够查看Charles先前可能无法使用的流量

例子

您可以将本地主机上的TCP端口2525转发到远程主机上的端口25。 然后当您连接到localhost时:2525 Charles将透明地将流量转发到远程主机,就像您直接连接一样。 您会看到在Charles中记录的流量为socket:// localhost:2525 /。

charles的代理身份配置区域

window/MAXCos proxy 是charles的代理启用开关;

如果你选中,则表示电脑使用charles作为代理(这里就是正向代理),取消同理;

注意;如果你使用的是chrome,并且有用chrome的host相关扩展工具;

Charles07--反向代理和端口转发_端口转发_03

请暂时关闭你的chrome扩展,并把代理设置为本机,否则charles是捕获不到的;

如上图,此时为使用了Host Switch Plus 这个host管理工具,此时为在chrome里是所有访问,都不会出现在charles里;

(如果你只想看到手机上的访问,电脑的chrome全部不捕获,可以使用扩展工具的方法,暂时避免,可以让你更集中);

关闭扩展程序后,默认即可,或者在 Chrome 中设置成使用系统的代理服务器设置即可,或者直接将代理服务器设置成 127.0.0.1:8888 也可达到相同效果。

作者:暄总-tester