搭建一个https二级代理(完整可用版) 您所在的位置:网站首页 自己搭建代理访问 搭建一个https二级代理(完整可用版)

搭建一个https二级代理(完整可用版)

2023-11-29 04:36| 来源: 网络整理| 查看: 265

本文的背景是,因为需要,我们需要搭建多层代理服务用于消息转发,同时也方便通过跳板机2进行访问互联网,话不多说,上主菜。

image.png

0x1 代理选择

现在的代理服务器非常多,如何选择也是一门学问,作者在写这篇文档之前已经尝试过三种代理软件,最终才实现相关需求。

谈到代理,大家首先会想到nginx这一经典的代理服务器,但是很不好的是,它的upstream配置一直不生效,导致没办法实现多层代理(当然也许是我菜~);

tinyproxy,在踩坑nginx之后,我们又想到了tinyproxy,过程很顺利,tinyproxy实现了,我们所需要的需求,不过事情没那么简单,虽然实现了https的转发,但是当主机存在CA证书的时候tinyproxy又不行了,通过查阅相关issue发现tinyproxy只是支持http代理,不支持https代理,故又GG。。

squid这属于一个小插曲,同样也因为无法实现二层代理而告终。

最后,我们的主角出场gost。

0x2 Gost

其功能十分强大,支持TCP,UDP,HTTP/HTTPS等多种协议转发,看到这个简介我都心动不已。

GOST

0x2.1 快速开始

我选择的是通过git + go build的方式手动编译,不过这里有些坑需要我们注意,gost项目对于go的版本是有要求的,小于1.8大于1.3,最佳版本1.73。

image.png

源码编译:

git clone cd gost/cmd/gost go build

最后可以得到一个gost的二进制文件。

image.png

0x2.2 配置代理

http代理:

./gost -L=账号:密码@0.0.0.0:port

https代理:

https代理,我们需要CA证书,可以选择自己申请,或者通过第三方平台生成都行。我这里是自己通过脚本生成的。

image.png

./gost -L=https://账号:密码@0.0.0.0:port?probe_resist=code:400\&knock =your-secret-link.localhost\&cert=证书.crt\&key=证书.key -F=账号:密码@跳板机2:port

配置完成,出现如下,即为运行成功。

image.png

然后,我们可以通过curl命令进行验证是否代理成功。

curl -s -v -x :port

出现日志如下。

image.png

代理成功(第一台机器是腾讯云的,第二台是阿里云的)。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有