陈奇网络工作室

记录一个处理不正确https监控的过程

网站建设服务器

今天开发反馈在测试金山云设备时遇到了这样一个现象:

wget https://funchlscdn . le change . cn/LCLR/2k 02135 pak 01979/0/0/2017 07 26085033/dev _ 2017 07 26085033 _ lpxh 73 ezzb 92 xx A8 . m3u 8

-2017-07-2611:49:26-https://funchlscdn . le change . cn/LCLR/2k 02135 pak 01979/0/0/20170726085033/dev _ 20170726085033 _ lpxh 73 ezzb 92 xx A8 . m3 u 8

Resolvingfunchlscdn.lechange.cn.120.92.158.134

connectingfunchlscdn . le change . cn | 120 . 92 . 158 . 134 |:443.已连接。

OpenSSL:错误:140770 fc:SSL路由:SSL 23 _ GET _ SERVER _ HELLO:unknown protocol

无法建立连接。

“错误:140770 fc:SSL routines:SSL 23 _ get _ server _ hello:unknown protocol”错误是在向只提供http的服务发送https请求时导致的。

# ping funchlscdn.lechange.cn,获取了这个域名对应的IP后,回到金山云的控制台,发现这个IP是一个负载均衡。但是,当这个负载平衡被配置时,它是端口80的http协议和端口443的http协议,所以我把它改为https。重新测试后,发现错误变成了这样:

[root @ js-develop ~]# wget https://funchlscdn . le change . cn/LCLR/2k 02135 pak 01979/0/0/0/2017 07 26085033/dev _ 2017 07 26085033 _ lpxh 73 ezzb 92 xx a 8 . m3 u 8

-2017-07-2616:08:15-https://funchlscdn . le change . cn/LCLR/2k 02135 pak 01979/0/0/20170726085033/dev _ 20170726085033 _ lpxh 73 ezzb 92 xx A8 . m3 u 8

Resolvingfunchlscdn.lechange.cn.120.92.158.134

connectingfunchlscdn . le change . cn | 120 . 92 . 158 . 134 |:443.已连接。

HTTPrequestsent,awaitingresponse.502 bad网关

2017-07-2616:08:15错误502:错误网关。

在浏览器中打开的效果如图:

502错误网关

代理服务器从上游服务器收到无效响应。

_____

祥云ELB 1.0.0

同时发现金山云负载均衡中nginx的8000健康检查“异常”。但是,可以使用http访问,效果如下:

[root @ js-develop ~]# wget http://funchlscdn . le change . cn/LCLR/2k 02135 pak 01979/0/0/0/2017 07 26085033/dev _ 2017 07 26085033 _ lpxh 73 ezzb 92 xx a 8 . m3 u 8

-2017-07-2615:31:55-http://funchlscdn . le change . cn/LCLR/2k 02135 pak 01979/0/0/20170726085033/dev _ 20170726085033 _ lpxh 73 ezzb 92 xx A8 . m3 u 8

Resolvingfunchlscdn.lechange.cn.120.92.158.134

connectingfunchlscdn . le change . cn | 120 . 92 . 158 . 134 |:80.已连接。

HTTPrequestsent,awaitingresponse.302找到

地点:http://120 . 92 . 133 . 76:8090/LCLR/2k 02135 pak 01979/0/0/20170726085033/dev _ 20170726085033 _ lpxh 73 ezzb 92 xx a 8 . m3 u 8[以下]

-2017-07-2615:31:55-http://120 . 92 . 133 . 76:8090/LCLR/2k 02135 pak 01979/0/0/20170726085033/dev _ 20170726085033 _ lpxh 73 ezzb 92 xx A8 . m3 u8

连接120.92.133.76:8090.已连接。

HTTPrequestsent,awaitingresponse.200OK

长度:66[应用程序/x-mpegURL]

saving to:" dev _ 2017 07 26085033 _ lpxh 73 ezzb 92 xx A8 . m3 u 8 "

100%[========================================================================================================================================================]66 - .-K/sin0s

2017-07-2615:31:55(3.02 MB/s)-" dev _ 20170726085033 _ lpxh 73 ezzb 92 xxa 8 . m3 u 8 "已保存[66/66]

于是打电话给开发者询问http和https的详细流程。开发者表示,在http中,设计路线如下:

Http(80)-开发模块(9001)

在https中,设计路线如下:

Https(443)-nginx(8000)-开发模块(9001)

这时候才发现问题。最早的时候,金山云没有配置https证书,所以开发者利用nginx的8000端口来监控ssl,达到https证书的效果。但是当金山云控制台添加了https证书后,nginx就不再需要配置SSL证书了。去https监控8000是不对的,所以负载均衡改成了:

Https(443)-开发模块(9001)

同时nginx关闭。这时候再测试https请求,就成功了!

其实如果非要用nginx的ssl证书,那么套路就是:打开nginx,但是在负载均衡中使用tcp协议监听nginx的8000端口,达到同样的效果。

最后,如果你觉得这篇文章对你升职加薪有帮助,欢迎随时通过刷下方二维码赞助我继续写更多博文!

更多关于云服务器,域名注册,虚拟主机的问题,请访问西部数码代理官网:www.chenqinet.cn。

相关推荐

后台-系统设置-扩展变量-手机广告位-内容页底部广告位3