• 12
  • 12
分享
  • HTTPS/HTTP监听常见问题——软件测试圈
  • 饭团🍙 2022-02-17 13:53:24 字数 2415 阅读 1397 收藏 12

第一次在学习IntelliJ IDEA过程中,进行web.xml文件的配置时候,对于Http监听情况不是很熟悉,所以找来参考文档以了解原理,以备今后复习来用。

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

为了实现会话保持,负载均衡会修改后端服务器响应头中的Date、Server、X-Pad和X-Accel-Redirect等参数值。

解决方案:

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

  • 将七层HTTP监听改为四层TCP监听。

2、为什么在HTTP请求的头部增加了Transfer-Encoding: chunked字段?

将域名解析到七层负载均衡的服务地址后,从本地主机访问域名时发现在HTTP请求的头部增加了一个Transfer-Encoding: chunked字段,但是从本地主机直接访问后端服务器时是没有这个字段的。

由于七层负载均衡基于Tengine反向代理实现。Transfer-Encoding字段表示Web服务器如何对响应消息体编码,比如Transfer-Encoding: chunked表示Web服务器对响应消息体做了分块传输。

说明:在四层负载均衡服务中,负载均衡仅转发流量,不存在该字段。

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

现象:

分别创建HTTP和HTTPS监听,两个监听使用同样的后端服务器。以HTTP方式访问监听端口对应的网站时,网站正常显示,但使用HTTPS监听访问时,网站排版显示错乱。

原因:

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

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

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

解决方案:

  1. 打开网站时,按照浏览器提示加载脚本。

  2. 在客户端中添加对应证书。

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

HTTPS监听对端口无特殊要求,建议您使用443端口。

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

支持上传PEM格式的服务器证书和CA证书。

服务器证书需要上传证书内容和私钥;CA证书只需要上传证书内容。

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

支持。

但在上传证书前,您需要将证书转换为PEM格式,详情参见转换证书格式。(以后再做备注说明)

7、可以使用PKCS#12(PFX)格式的证书么?可以。

但在上传证书前,您需要将证书转换为PEM格式,详情参见转换证书格式。(以后再做备注说明)

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秒。

14、可以上传包含DH PARAMETERS字段的证书么?

HTTPS监听使用的ECDHE算法簇支持前向保密技术,不支持将DHE算法簇所需要的安全增强参数文件上传,即不支持将PEM证书文件中含BEGIN DH PARAMETERS字段的证书上传。

15、HTTPS监听是否支持SNI?

SNI(Server Name Indication)是为了解决一个服务器使用多个域名和证书的SSL/TLS扩展,目前负载均衡HTTPS监听不支持SNI功能。

如果您有相关需求,可以改用TCP监听并在后端服务器上实现SNI功能。

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

HTTP/1.0。

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

可以。

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

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

19、HTTP/HTTPS监听是否支持WebSocket/SSL WebSocket?

全部地域都已支持WSS/WS协议,详情参见WS/WSS协议支持常见问题。

20、HTTP/HTTPS连接的超时时间是如何规定的?

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

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

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

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

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

21、负载均衡是否支持配置域名和URL转发策略?

支持,详情参见配置域名URL转发策略。

22、每个监听可以添加多少条域名和URL转发规则?

每个监听最多可添加20条转发规则。


作者:TimStars

原文链接:https://www.cnblogs.com/stevenstim/p/9557686.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   据thechinaproject报道,米哈游正进行避开30%“苹果税”的尝试,从而在收入方面获得更多显著增长。  外媒表示,苹果公司和米哈游似乎在今年变得比以往更亲近。  今年三月,苹果首席执行官TimCook访问中国时,曾停留在米哈游上海办公室,库克与《原神》背后的“团队”,进行了会面,并与米哈游创始人互致问候。  而在此之后的苹果的年度发布会上,苹果展示了两款米哈游的游戏,以展示新款iPhone15系列在游戏性能方面的表现。  然而在幕后,这两家公司一直存在分歧。自八月以来,米哈游试图两次从而绕过30%的“苹果税”(IT之家注:苹果在AppStore内的每笔交易中收取高达30%的佣金)...
            0 0 613
            分享
          •       前两天面试,被问到进程和线程的区别,由于是第一次面试软件测试岗,被问到这么“专业”的问题,有点惊讶,之后马上在脑海中努力回忆,还好能回答出7788。。总算没给自己专业丢脸      1.进程和线程的关系和区别      进程是一个程序在其自身的地址空间中的一次执行活动,是资源申请、调度和独立运行的单位。线程是进程的一个单一的连续控制流程,一个进程可以拥有多个线程。      线程调度的两种方式:抢占式、非抢占式。  &nbs...
            0 0 2311
            分享
          •   测试左移  对于需求,代码,质量,效率,《代码大全》很早就从软件工程实践角度说明了一个bug产生的不同阶段,修复一个bug的成本从需求阶段,设计阶段,测试阶段有着天壤差别。不仅从成本上,从修复难度,引入新问题的可能性,沟通成本,团队状态也会有很大的影响。由于大部分bug都是在写代码的阶段就引入的,测试左移本质上可以尽早的发现,预防问题,使用必要的测试手段在软件开发周期的早些阶段发现问题。测试越是集中到后期,尤其是集成测试时进行功能测试,产品的复杂度就越高,出现问题后,越难以定位bug,修复时间花费越长。所以,bug越早被发现,越节约成本。这也是测试左移被普遍接受的原因。  测试左移的手段:...
            0 0 656
            分享
          • 质量保障的核心目标质量保障的核心目标在实际的项目或团队中很少有明确的约定或口径,就实际经验而言,可以归于一条:线上故障的减少。这个经验得来的目标实际是一个非常宽泛的目标了,通过团队成员的多方努力,这个目标仍然是“若即若离”。站在不同人员的角度,对测试目标会有共同的期望:故障的减少 & 人效的提升 & 迭代周期的缩短。但对测试结果的期望,线上故障的减少可以说是最核心的一个目标。产品故障的广泛定义从广义上来说,故障同时包括了:硬性质量引发的问题、软性质量引发的问题、需求定义引发的问题。硬性质量引发的问题指上线/配置修改等直接引发的线上不可用问题(用户直接不可用)软性质量的引发的问题...
            0 0 777
            分享
          •   当我们拿到一个接口,怎么才能设计出更好的测试用例呢 ?从大的方面我们至少要考虑到以下三个方面。  一.功能方面  在功能方面,我们要更多考虑的是如何通过不同的输入覆盖不同的业务逻辑 。而这个业务逻辑也可以理解为代码的每一个分支语句,所以,我们的测试就变为如何通过输入不同的参数,然后让代码尽可能的执行到每一个分支。 但是我们又不是做白盒测试,如何才知道覆盖了不同的分支呢 ?这里面除了用到一些测试方法外,还需要对业务有足够的了解,和开发不断确认其实现逻辑 。简单的来说就是从:测试方法设计和发散测试方面去考虑:  1.测试方法设计:可分为正向测试和反向测试  正向用例:只输入所有必填参数,验证其...
            9 9 1022
            分享
      • 51testing软件测试圈微信