全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件
负载均衡

HTTPS/HTTP监听常见问题

更新时间:2017-12-04 10:44:13

1. 为什么请求经过七层负载均衡转发后,后端ECS在响应头中的某些参数会被删除?

为了实现会话保持。负载均衡服务器需要通过修改后端ECS响应头信息中的Date、Server、X-Pad、X-Accel-Redirect等参数值,来实现会话保持等功能特性。

解决方案

  • 在自定义的头中加入一个前缀,如xl-server,xl-date等,以避开负载均衡的处理。

  • 将七层HTTP转发切换为四层TCP转发。

2. 为什么访问域名发现在HTTP的header头部多了一个字段Transfer-Encoding: chunked?

将域名解析到七层负载均衡的服务地址后,访问域名发现在HTTP的header头部多了一个字段Transfer-Encoding: chunked,但是本地主机绑定负载均衡的后端ECS上访问时是没有这个字段的。

由于七层负载均衡的原理是Tengine反向代理,会加入这个字段。Transfer-Encoding字段表示Web服务器自己对本响应消息体作了怎样的编码,Transfer-Encoding: chunked表示做了分块传输。

在四层负载均衡服务中,负载均衡就是单纯的转发流量,不会存在这个字节。

3. 为什么HTTP监听访问正常但HTTPS监听打开网址不加载样式?

问题现象

使用负载均衡分别创建HTTP和HTTPS监听,后端服务器监听同一端口上的站点。打开HTTP监听端口对应的网站访问正常,访问HTTPS监听对应的站点打开没有加载样式文件,网站排版紊乱。

问题原因

负载均衡默认是不会屏蔽JS文件加载传输的,可能原因:

  • 证书和浏览器安全级别不兼容导致。

  • 证书是非正规第三方证书需要联系证书发布者检查证书问题。

解决方案

  1. 打开网站时,单击浏览器地址栏的风险提示加载脚本。

  2. 浏览器添加对应证书。

4. HTTPS监听使用什么端口?

没有特殊要求,建议使用443端口。

5. 负载均衡支持哪些类型的证书?

目前支持服务器证书和CA证书的上传,服务器证书需要上传证书内容和私钥,CA证书只需要上传证书内容;这两种类型的证书都只支持PEM编码格式的上传。

6. 负载均衡是否支持keytool创建的证书?

负载均衡可以使用自己通过工具生成的证书,符合负载均衡对key和私钥的要求就行。上传证书前需要转换为PEM格式。详情参考转换证书格式

7. 负载均衡上如何使用pfx格式的证书?

pfx证书一般都是Windows下的证书格式,如果需要让这类证书上传到负载均衡上需要进行转换,详情参考转换证书格式

8. 一个账号可以上传多少个证书?

目前每个账号最多可上传100个证书,包含CA证书和服务器证书。

9. 添加证书时,为什么报错KeyEncryption?

您的私钥内容有误导致的。关于私钥格式说明,参考证书要求

10. 一个监听可绑定多少个HTTPS证书?

若使用HTTPS单向认证,则一个监听只能绑定一个服务器证书;若使用HTTPS双向认证,则一个监听需要绑定一个服务器证书和一个CA证书。

11. 负载均衡HTTPS支持哪些SSL协议版本?

TLSv1、TLSv1.1以及TLSv1.2。

12. 为什么HTTPS协议实际产生的流量会比账单流量多一些?

如果使用HTTPS协议,将会使用一些流量用于协议握手,因此其实际产生的流量会比账单流量更多一些。

13. HTTPS session ticket的保持时间是多久?

HTTPS session ticket保持时间设置为300秒。

一个session ticket是一个加密的数据Blob,其中包含需要重用的TLS连接信息,如会话key等,它一般是使用ticket key加密,因为ticket key服务器端也知道,在初始握手中服务器发送一个会话ticket到客户端,存储到客户端本地,当重用会话时,客户端发送会话ticket到服务器,服务器解密然后重用会话。

14. HTTPS监听可以上传包含DH PARAMETERS字段的证书么?

线上负载均衡七层HTTPS协议使用的ECDHE算法簇支持前向保密技术,不支持用户将DHE算法簇所需要的安全增强参数文件上传,即PEM书文件中含BEGIN DH PARAMETERS字段的字串上传。

15. HTTPS监听是否支持SNI?

SNI(Server Name Indication)是为了解决一个服务器使用多个域名和证书的SSL/TLS扩展,目前负载均衡HTTPS监听不支持SNI的功能,如有强需求,改用TCP监听并在后端ECS上实现SNI功能。

一个监听只能绑定一个证书。

16. HTTP协议访问如何跳转HTTPS协议?

建议创建HTTP监听时开启SLB监听协议附加HTTP头字段。

开启后,后端ECS可以获取到http X-Forwarded-Proto头字段,根据这个取值若是HTTP协议访问则返回HTTPS的访问域名响应即可。

17. HTTPS页面为什么在浏览器地址栏提示不安全?

  • 访问链接的HTTPS的页面中有HTTP的链接引用。

  • 域名不一致。

18. 使用负载均衡HTTP监听访问后端ECS和直接访问后端ECS有什么不同?

负载均衡HTTP监听原理上是反向代理的一种实现,客户端HTTP请求到达负载均衡监听后,负载均衡服务器会通过与后端ECS建立TCP连接,即再次通过新TCP连接HTTP协议访问后端,而不是直接转发报文到后端 ECS。

19. 为什么直接访问ECS可以正常使用的一些功能但通过负载均衡HTTP监听访问后不正常了?

以下几种原因可能会导致这种情况,具体不正常的原因需要前端客户端和后端ECS配合分析报文。

  • HTTP协议转换为1.0。

  • 开启了Cookie会话保持。

  • 后端建立连接超时时间设置为5秒,读写超时间连接请求为60秒。

  • 开启了响应报文压缩功能。

20. HTTP/HTTPS监听访问后端ECS服务器HTTP协议的版本是什么?

使用HTTP1.0协议。

21. 后端服务器ECS能否获取客户端访问HTTP/HTTPS监听的协议版本?

可以。

22. 一个请求通过负载均衡到达后端服务器,如果客户端在未收到后端服务器的回复前主动断开和负载均衡的连接,负载均衡会同时断开和后端服务器的连接么?

负载均衡在读写过程中不会断开与后端ECS的连接。

23. HTTP/HTTPS监听是否支持WebSocket/SSL WebSocket应用协议?

欧洲中部(法兰克福)与亚太东南3(吉隆坡)地域已开始支持WSS/WS协议,详情参见WS/WSS协议支持常见问题

24. HTTP/HTTPS线上超时时间参数与超时时间是如何规定的?

  • HTTP长连接的请求数量限定是最多连续发送100个请求,超过限定将关闭这条连接。

  • HTTP长连接两个HTTP/HTTPS请求之间的超时时间为15秒(存在误差1-2秒),超过后会关闭TCP连接,如果用户有长连接使用需求请尽量保持在13秒之内发送一个心跳请求。

  • 负载均衡与后端一台ECS TCP三次握手完成过程的超时时间为5秒,超时后选择下一台ECS查询访问日志upstream响应时间可以定位。

  • 负载均衡等待一台ECS回复HTTP/HTTPS请求的响应时间是60秒,超过后一般会返回504响应码或408响应码给客户端;查询访问日志的upstream响应时间可以定位。

  • HTTPS session重用超时间为300秒,超过后同一客户端需要重新进行完整的SSL握手过程。

25. 负载均衡支持域名、URL转发功能适用于那些场景?

您可以在HTTP/HTTPS监听上配置域名、URL转发策略,将来自指定域名、URL的请求转发至对应的虚拟服务器组,满足同一个负载均衡实例下存在多个业务的场景需求。

26. 如何实现负载均衡按域名、URL转发?

参考配置域名、URL转发策略

27. 哪些用户可以使用负载均衡域名URL转发功能?

只要有负载均衡实例,并配置了七层(HTTP和HTTPS协议)监听,就能够使用域名URL转发功能。

28. 每个监听可以添加多少条转发规则?

每个监听限制10条转发规则。

29. 可以同时设置实例维度上的“后端服务器”、监听维度上的“虚拟服务器组”和“域名、URL转发规则”吗?

目前负载均衡可支持同时在这三个维度上进行设置,三者添加的服务器之间没有任何约束关系。

30. 如果同时添加了“后端服务器”、“虚拟服务器组”和“域名、URL转发规则”,那么其判断的顺序是怎么样的?

当流量经过负载均衡某端口时,判断顺序为:

  • 如果能匹配到相应监听关联的按域名、URL转发策略,则按转发策略,将请求转发到对应的虚拟服务器组。

  • 如果没有匹配的域名、URL转发策略,而对应监听启用并配置了虚拟服务器组,则将请求转发到对应的虚拟服务器组。

  • 如果均未匹配,则转发到负载均衡实例后端所有ECS端口和监听配置的后端端口相同的ECS实例上。

本文导读目录