怎样部署HTTPS代理服务器

2019年5月22日 | 分类: 【技术】

【介绍】

官网:https://tinyproxy.github.io/

其他方案:https://marskid.net/2018/06/14/how-to-deploy-https-proxy/

【安装】

参考:https://www.isilent.me/353.html

下载:http://rpmfind.net/linux/rpm2html/search.php?query=tinyproxy
下载:https://centos.pkgs.org/7/epel-x86_64/tinyproxy-1.8.3-2.el7.x86_64.rpm.html

yum install http://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/t/tinyproxy-1.8.3-2.el7.x86_64.rpm

【设置】

编辑配置文件:/etc/tinyproxy/tinyproxy.conf

修改 Port 端口,默认为 8888 :

Port 8888

注释掉 Allow :

#Allow 127.0.0.1

将 127.0.0.1 改成你自己的IP,例如你的IP 是1.2.3.4,即修改为 Allow 1.2.3.4,那只有这个IP才能连上这个Proxy。
如果允许任何IP都可以连到Proxy,则在Allow前面打#注释。

隐藏掉Via请求头部,去掉下面的注释:

DisableViaHeader Yes

更多配置项,下面是列举一些配置文件默认的,不需要配置:

PidFile "/var/run/tinyproxy/tinyproxy.pid"
LogFile "/var/log/tinyproxy/tinyproxy.log"
LogLevel Info
MaxClients 100
MinSpareServers 5
MaxSpareServers 20
StartServers 10

白名单配置:

通过强制代理方式限制只能够访问特定的网站,将以下注释去掉:

Filter “/etc/tinyproxy/filter” # 过滤配置文件的位置。
FilterURLs On                  # 过滤URL,默认过滤域名。域名过滤只检查域名段,URL过滤则检查整个URL。
FilterDefaultDeny Yes          # 如果将该指令注释掉或设为No,过滤规则为禁止访问规则。默认为只允许访问过滤规则中的地址。

其它说明:
FilterExtended On
使用扩展POSIX正则表达式用于匹配过滤规则。默认是使用基本的POSIX正则表达式。
FilterCaseSensitive On
使用区分大小写的正则表达式,默认不区分大小写。

编辑 /etc/tinyproxy/filter ,输入过滤规则内容(域名),比如:

amon.org

如果访问白名单以外的域名,返回:

rl: (56) Received HTTP code 403 from proxy after CONNECT

设置账号密码:

讨论:https://stackoverrun.com/cn/q/12659482
讨论:https://github.com/tinyproxy/tinyproxy/issues/29
补丁:https://github.com/huiyiqun/tinyproxy

【命令】

重新启动 TinyProxy :

service tinyproxy restart
systemctl start tinyproxy.service 

启动 TinyProxy :

service tinyproxy start
systemctl start tinyproxy.service 

更多命令:

systemctl restart tinyproxy.service 
systemctl stop tinyproxy.service 
systemctl status tinyproxy.service 
systemctl enable tinyproxy.service 

【测试】

添加端口:

firewall-cmd --zone=public --add-port=8888/tcp --permanent
service firewalld reload
firewall-cmd --zone=public --list-ports

看一下端口是否开启:

netstat -lntp

使用cURL测试(A):

curl –version,输出Features应该包含HTTPS-proxy,这样才支持HTTPS Proxy的测试。

参考:http://amon.org/curl

使用cURL测试http代理:

curl -m 30 --retry 3 -x http://123.123.123.123:8888 -k http://amon.org/404 | grep '>home<'

返回:

Go <a href="https://amon.org">home</a>.

使用cURL测试https代理:

curl -m 30 --retry 3 -x http://123.123.123.123:8888 -k https://amon.org/404 | grep '>home<'

返回:

Go <a href="https://amon.org">home</a>.

使用cURL测试(B):

使用cURL测试http代理:

curl url --proxy 10.10.10.10:8888

使用cURL测试https代理,加 -k 参数:

curl url --proxy 10.10.10.10:8888 -k

【参考】

参考:https://blog.51cto.com/tianshili/1733869
参考:https://blog.csdn.net/Owen_goodman/article/details/80942769
参考:http://www.live-in.org/archives/710.html
参考:https://doubibackup.com/9j5_kvir.html
参考:https://my.oschina.net/Yumikio/blog/884244
参考:https://segmentfault.com/a/1190000011532677
参考:https://www.cnblogs.com/felixzh/p/7106147.html