http 代理可以实现代理上网,主要用于网页中转。
比如有两台服务器A和B,A有访问互联网的权限,B没有访问互联网的权限。如果在服务器A上搭建一个 http 代理,那么服务器B就可以通过A的代理访问互联网。
所使用的代理工具是一个 php 脚本,一个文件即可搭建 http 代理。我们先看下使用效果,再讲工具如何使用。
比如代理地址为:http://192.168.10.23:7000,在客户端(Linux 终端)上可以这么配置 http 代理:
export https_proxy=http://192.168.10.23:7000export https_proxy=http://192.168.10.23:7000
分别为 http 和 https 协议指定代理,配置完后即可在命令行测试是否生效。
curl -I www.baidu.com

在服务端也能看到来自客户端的访问记录:

除了命令行配置 http 代理,让 apt 、curl 、wget 、git 之类的工具在访问网页资源时走代理。如果是浏览器,或是 Windows 客户端,可以直接在系统中配置系统代理。
比如 Windows 10 配置代理,在开始菜单中搜索代理

在系统代理中指定代理地址

此时打开浏览器,就可实现代理上网。
除了系统,firefox 浏览器可以在浏览器设置中对 http 代理进行设置

在 firefox 的连接设置中,对 http 和 https 代理进行设置

Chrome 浏览器默认使用的是系统代理,如果要单独设置,需要安装代理插件,比如 SwitchyOmega 插件:

http 代理的使用已经介绍完了,下面介绍服务端工具的安装和使用
所使用工具名称叫 leproxy,Github 项目地址为:
https://github.com/leproxy/leproxy
环境要求:
该工具是用 php 写的,建议安装 PHP 7+以上环境,实际上脚本可以在 PHP 5.4+ 以上环境运行。Ubuntu 下安装环境依赖:
$ sudo apt-get install php7.0-cli
下载最新的单文件版
$ curl -OL https://leproxy.org/leproxy-latest.php
运行
php leproxy-latest.php :7000 --allow-unprotected
默认程序会使用 8080 端口为作为监听端口,使用冒号指定新的端口
LeProxy HTTP/SOCKS proxy now listening on \http://0.0.0.0:7000 (unprotected mode, open proxy)
它还支持代理链,将本级代理 Forward 至下一级代理
$ php leproxy-latest.php :7000 \--allow-unprotected \--proxy=172.18.105.10:7890




