注意: IP代理精灵仅提供国内ip网络节点,不提供境外网络节点,不能用于任何非法用途或访问境外封闭网站,不能跨境联网,只能用于合法的国内网络加速。

请登录 注册

首页 > 新闻资讯 > 让代理服务器支持HTTPS很难吗?

让代理服务器支持HTTPS很难吗?

来源:IP代理精灵 作者:admin 时间:2019-05-29 11:43:36

我们开展稳定高匿名HTTP代理业务以来,我听到客户咨询最多的问题之一就是“你们的代理支持HTTPS协议吗?”。我觉得很多人对HTTPS代理存在理解上的误区,所以我写了这篇文章。目的就是想说明“实现支持HTTPS的代理一点都不难!”。


说到HTTPS代理很多人瞬间就会联想到HTTPS的各种证书和各种加密,觉得很高端很复杂的样子。其实不然,代理服务器不需要配置证书、也不需要处理任何加密。因为HTTPS代理是通过Web隧道(Web tunnel)工作的。


Web隧道允许用户通过HTTP连接发送非HTTP流量(例如FTP,Telnet,SMTP),这就使得那些使用非HTTP协议的应用程序可以通过HTTP代理工作了。你现在应该就明白了为什么QQ可用设置使用HTTP代理工作。Web隧道这么强大,但它并不复杂。


Web隧道是用HTTP协议的CONNECT方法建立起来的。CONNECT方法不是HTTP/1.1核心规范的一部分,但确是一种得到广泛应用的扩展。客户端通过CONNECT方法请求代理服务器创建一条到达任意目的服务器和端口的TCP链接,代理服务器仅对客户端和服务器之间的后续数据进行盲转发(只是转发,不关心、也不懂发送的内容是什么)。


建立Web隧道的详细步骤如下:


1)客户端通过HTTP协议发送一条CONNECT方法的请求给代理服务器,告知代理服务器需要连接的主机和端口。


例如:


CONNECT www.alipay.com:443 HTTP/1.1


User-agent: Mozilla/5.0


在本例中客户端通过CONNECT方法请求代理服务器打开一条到www.alipay.com主机443端口的TCP链接。


2)代理服务器一旦建立了和目标主机(上例中的www.alipay.com:443)TCP连接,就会回送一条HTTP 200 Connection Established应答给客户端。


例如:


HTTP/1.1 200 Connection Established


Poryx-Agent: Squid/3.2


3)此时隧道就建立起来了。客户端通过该HTTP隧道发送的所有数据都会被代理服务器(通过之前建立起来的与目标主机的TCP连接)原封不动的转发给目标服务器。目标服务器发送的所有数据也会被代理服务器原封不动的转发给客户端。注意:是原封不动的转发,代理服务器并不需要知道内容的含义,也不会尝试去对内容进行解析。

让代理服务器支持HTTPS很难吗?

PS:上面这张插图是我引用《HTTP权威指南》一书的,做了修改。


这下你应该明白了Web隧道的工作原理。所以对代理服务器来说只要其支持Web隧道就支持HTTPS协议(和其它非HTTP协议),与证书、加密没有任何直接的关系。从上面的过程可以看出,实现Web隧道并不难,只要代理服务器能够正确处理CONNECT请求,然后对数据进行盲转发即可。从难度上看这比标准的HTTP协议代理还要简单(标准HTTP协议代理需要对客户端和服务端双方的HTTP报文先进行解析,修改后再进行转发)。


现在应用最广泛的HTTP代理软件非Squid莫属,Squid默认就是支持Web隧道的,详见Squid的文档:http://wiki.squid-cache.org/Features/HTTPS。因此Squid支持HTTPS也是天生的,无需做额外设置。我们的代理服务器软件使用的也是Squid,所以100%是支持HTTPS的。


顺便提一下,Squid默认只允许建立到目标端口为443(HTTPS的默认端口)的Web隧道。但我们可以通过设置SSL_Ports参数,使其允许更多的端口。一个我实际遇到的情况:访问一个端口为非443的HTTPS网站(9061), Squid会总是返回“urlopen error Tunnel connection failed: 403 Forbidden”的错误,在SSL_Ports中添加9061端口后就工作了。关于SSL_Ports的更多解释可以参考Squid的文档:http://wiki.squid-cache.org/SquidFaq/SecurityPitfalls#The_Safe_Ports_and_SSL_Ports_ACL


最后附上我用Wireshark抓取火狐浏览器通过HTTPS代理和支付宝的交互过程的报文,及部分报文片段:

1559101557245930.jpg

让代理服务器支持HTTPS很难吗?

最新资讯

推荐阅读

  1. 14

    2019-10

    做网赚项目如何选代理ip软件?

    做网赚项目如何选代理ip软件?代理ip软件不是越贵越好,当然也不是便宜的代理ip软件就垃圾,如何挑选一款适合自己的代理ip软件才是最好的。代理ip​软件的使用涉及多方面原因,比如本地网

  2. 30

    2021-07

    静态代理IP可以用于网络爬虫吗

    静态代理IP可以用于网络爬虫吗?我们知道,代理IP分为动态代理IP和静态代理IP两种,网络爬虫一般使用动态代理IP,有人问,静态代理IP可以用于网络爬虫吗?

  3. 28

    2021-07

    ip精灵专业提供企业级高质量代理IP

    ip精灵专业提供企业级高质量代理IP!ip精灵专业提供企业级高品质分布式代理IP池服务,具有三大优势:海量资源,稳定可靠,接入方便。

  4. 09

    2019-07

    怎么选择好用又合适的代理IP

    互联网的迅速发展,用户需求的不断增多,代理IP迅速崛起,用户们实现一些目的时不得不随时随地得使用代理IP。由于代理IP市场的巨大和开放,代理IP行业可以说是鱼龙混杂,参差不齐,想要

  5. 19

    2019-10

    http代理软件是什么 有哪些用处?

    http代理软件是什么 有哪些用处?本代理ip软件具有一键功能,可以一键获更换代理ip,可以设置时间区间,控制更换频率,定时更换ip代理地址,是一款全自动化的更换ip地址软件。那么朋友们可

  6. 12

    2019-09

    IP代理精灵为什么成为电商平台的首选

    IP代理精灵为什么成为电商平台的首选。大数据时代,企业业务发展对代理IP需求越来越大,市场市面上的HTTP代理IP资源众多,但是实际操作过程中不难发现,这些琳琅满目的IP平台,很多是公用