其他分享
首页 > 其他分享> > HTTPS 代理假设笔记

HTTPS 代理假设笔记

作者:互联网

众所周知的原因,想要上外网,需要一些特别的设置。

专用的工具增加了学习成本,而且老是被干掉,所以这个周末探索了一下使用通用技术来达到目的。目前看来,这个方案的最大问题,可能就是没法设置账号密码了;个人用的话,IP 是天然加密手段吧。

 

原理

浏览器的所有请求,都会通过 https 加密通道转发到服务器,然后由服务器帮你完成请求并返回结果。

https 加密通道包括了:本地的 https 代理客户端、https通道服务器端(请求在服务器本地转发给 proxy)、服务器端的 proxy

 

工具

代理可以用 tinyproxy,或者 squid。这两个工具都是多协议转发的,这次主要是尝试了 tinyproxy。

https 通道一般使用 stunnel 来建立。

浏览器上,可以用 SwitchyOmega。

 

过程记录

1. 程序安装,CentOS7 和 Debian 都试了。Debian 系列实际安装的是 stunnel4;CentOS 可能要添加额外的源。

wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo rpm -Uvh epel-release-latest-7*.rpm

 

2. 配置开机自启动

 

3. 配置软件

Tinyproxy 配置文件: /etc/tinyproxy/tinyproxy.conf

主要需要关注的是端口,还有 Allow 项,我们只需要本地访问,目前啥也不用改。

Stunnel 配置文件:/etc/stunnel/stunnel.conf

一个简单的配置如下(端口配置 80,是为了直接用 python 临时搭的 http 服务来进行测试):

; Enable FIPS 140-2 mode if needed for compliance
; The pkcs11 engine allows for authentication with cryptographic
; ***************************************** Example TLS client mode services

; TLS front-end to a web server
[https]
accept  = 443
connect = 127.0.0.1:80
cert = /etc/stunnel/7656971_ss.xxxx.com.pem
key = /etc/stunnel/7656971_ss.xxxx.com.key
; "TIMEOUTclose = 0" is a workaround for a design flaw in Microsoft SChannel
; Microsoft implementations do not use TLS close-notify alert and thus they
; are vulnerable to truncation attacks
TIMEOUTclose = 0

奥,对了,上面用的 pem 和 key,是在阿里云上免费申请来的。

 

4. 防火墙

redhat 上防火墙打开端口:

firewall-cmd --zone=public --add-port=8888/tcp --permanent
firewall-cmd --reload

 

5. 测试

测试能不能穿过防火墙,以及创建连接,可以用: telnet ip 端口

标签:key,HTTPS,--,假设,stunnel,etc,笔记,https,tinyproxy
来源: https://www.cnblogs.com/pied/p/16183190.html