哈喽,艾瑞巴蒂,小编又在一个新的周二和大家见面了,随着时代的进步,互谅网的发展越来愈多的脏数据出现在我们的生活中,不得不让我们加以防范,我们的接口也是一样全部在HTTP的基础上增加了“S”,让我们一起了解下这个“S”的神秘之处吧~
什么是HTTPS?
在HTTP基础上提出的一种安全的HTTP协议,因此可以称为安全的超文本传输协议。HTTP协议直接放置在TCP协议之上,而HTTPS提出在HTTP和TCP中间加上一层加密层。从发送端看,这一层负责把HTTP的内容加密后送到下层的TCP,从接收方看,这一层负责将TCP送来的数据解密还原成HTTP的内容。
什么是SSL(Secure Socket Layer)?
SSL是Netscape公司设计的主要用于WEB的安全传输协议。从名字就可以看出它在https协议栈中负责实现上面提到的加密层,HTTPS工作流程图:
如何测试HTTPS接口?
第一种方式
通过Fiddler可以直接将请求重定向至我们指定的请求上,利用Fiddler中的AutoResponder,拦截请求后直接在RuleEditor中选择”redir:http://www.example.com“ 将http://www.example.com替换成目标URL即可,如图:
Ps:
●上图中测试场景一般是首次切换HTTPS请求,客户端发送的是HTTP协议请求,却想验证切换HTTPS协议后对客户端有什么影响。
踩过一个坑:
●由于推广需求,需要在某输入法中嵌入信息流数据源,为了安全,数据请求已经切换HTTPS协议,但是我们没有支持HTTPS协议的测试服务器,所以就用到了上面的方法,结果就是通过Fiddler重定向请求返回的数据无法正常显示在客户端,原因是客户端做了限制,HTTP请求返回的数据为非信任返回,不做处理,导致客户端显示空白。
Question:
●如果遇到了上述问题如何处理?让我们带着这个问题一起往下看~
第二种方式
通过构造SSL证书,将服务器构造成支持HTTPS协议的测试环境,在方法如下:
第一步
生成KEY openssl genrsa -des3 -out ca.key 1024 //执行命令后输入任意字符即可 去掉访问密码 openssl rsa -in ca.key -out ca.key //存在密码的话访问和重启都需要密码 生成CRT文件 openssl req -new -x509 -key ca.key -out ca.crt Ps: 证书文件放在任意目录即可 以上代码生成证书是有时间限制的,生成10年证书方法: openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout ca.key -out ca.crt |
第二步
修改Nginx配置文件,增加SSL相关配置 { listen 443 ssl; ssl_certificate /etc/ssl/private/ca.crt; ssl_certificate_key /etc/ssl/private/ca.key; } Ps: ●配置文件中的代码块如下时,请注意~ server { listen *:443; #这样的书写方式会把普通的HTTP协议请求也使用证书处理,这样请求就会返回错误了 ssl_certificate /etc/ssl/private/ca.crt; ssl_certificate_key /etc/ssl/private/ca.key; } |
第三步
重启Nginx,让配置生效即可,就可以执行自己的测试用例了~
以上就是小编为大家介绍的"S"的含义和具体的测试方法,你是否融会贯通了呢,赶紧试试吧,有问题欢迎留言哦!