14.5 HTTPS 与代理
来源:互联网 发布:统计局数据由哪几部分 编辑:程序博客网 时间:2024/05/22 06:17
- 客户端通常会用 Web 代理服务器代表它们来访问 Web 服务器。比如,很多公司都会在公司网络和公共因特网的安全边界上放置一个代理。代理是防火墙路由器唯一允许进行 HTTP 流量交换的设备,它可能会进行病毒检测或其他的内容控制工作。
- 但只要客户端开始用服务器的公开密钥对发往服务器的数据进行加密,代理就再也不能读取 HTTP 首部了。代理不能读取 HTTP 首部,就无法知道应该将请求转向何处了。
- 为了使 HTTPS 与代理配合工作,要进行几处修改以告知代理连接到何处。
- 一种常用的技术就是 HTTPS SSL 隧道协议。使用 HTTPS 隧道协议,客户端首先要告知代理,它想要连接的安全主机和端口。这是在开始加密之前,以明文形式告知的,所以代理可以理解这条信息。
- HTTP 通过新的名为 CONNECT 的扩展方法来发送明文形式的端点信息。CONNECT 方法会告诉代理,打开一条到所期望主机和端口号的连接。这项工作完成之后,直接在客户端和服务器之间以隧道形式传输数据。CONNECT 方法就是一条单行的文本命令,它提供了由冒号分隔的安全原始服务器的主机名和端口号。host:port 后面跟着一个空格和 HTTP 版本字符串,再后面是 CRLF。接下来是零个或多个 HTTP 请求首部行,后面跟着一个空行。空行之后,如果建立连接的握手过程成功完成,就可以开始传输 SSL 数据了。
CONNECT home.netscape.com:443 HTTP/1.0User-agent: Mozilla/1.1N<raw SSL-encrypted data would follow here...>
- 在请求中的空行之后,客户端会等待来自代理的响应。代理会对请求进行评估,确保它是有效的,而且用户有权请求这样一条连接。如果一切正常,代理会建立一条到目标服务器的连接。如果成功,就向客户端发送一条 200 Connection Established 响应。
HTTP/1.0 200 Connection established
Proxy-agent: Netscape-Proxy/1.1
- 更多有关安全隧道和安全代理的信息,见 8.2 隧道
阅读全文
0 0
- 14.5 HTTPS 与代理
- https 代理
- Nginx 反向代理https
- Burpsuit代理https设置
- 关于HTTPS代理
- Nginx代理https跳转
- 【python】request HTTPS代理
- 公司http代理访问https代理
- squid 启用https反向代理代理
- NodeJS实现HTTP/HTTPS代理
- burp代理https报错
- linux https代理squid搭建
- NodeJS实现HTTP/HTTPS代理
- https代理原理之代码
- 为git设置HTTPS代理
- nginx配置https代理tomcat
- nginx 反向代理https配置
- nginx 代理http转https
- 我的第三篇
- 【BZOJ2144】Throw 数论
- spark中调用逻辑回归
- ADT
- TensorFlow训练线性回归
- 14.5 HTTPS 与代理
- CDH安装
- 基本语法
- Java连接Sql Server 2008的简单数据库应用
- Scala类型参数——泛型之逆变
- 短路
- 二、IDEA中配置maven
- 【论文笔记】Semantic Parsing on Freebase from Question-Answer Pairs
- leetcode_617. Merge Two Binary Trees ? 待解决