关于SLB使用中的HTTP转发HTTPS的挖坑解决

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
.cn 域名,1个 12个月
网络型负载均衡 NLB,每月750个小时 15LCU
简介: 使用阿里云SLB自带的HTTP强制转发到HTTPS的小坑解决心得

起因

前些日子早上8点多突然接到合作客户的紧急电话,因为阿里云服务到期没有及时续费,导致后续操作中误删SLB和容器服务,经过小伙伴们通宵达旦的努力,还是未能完全恢复访问,希望能够过去一起看一下。
注:虽然最终的解决过程只花了不到3分钟,但确是走了一大段弯路,写下该文聊以纪念这段曲折的路程。

解决过程

顾不得收拾,马上驱车20公里到达现场,倾听小伙伴的情况后,开始按照如下思路逐一排查。
1.因为使用k8s容器服务,直接用容器外网IP访问,结果显示HTTP正常,HTTPS无法访问,报502错误,说明容器服务部署正常;
2.切换至域名访问,发现HTTP和HTTPS都访问不了;
3.通过ping确认域名指向ip,发现解析地址未指向SLB;
4.通过阿里域名解析服务(需要登录阿里云后才能访问)进行域名和SLB公网IP绑定;
5.重新通过域名访问,HTTP正常,HTTPS异常;
6.检查SSL证书,发现未在SLB中进行配置(注:SLB为新购服务器);
7.检查容器的yaml文件,确认已配置SSL证书,且没有设置nginx服务;
8.容器的yaml文件开启https及443端口,发现http异常,报502错误,https又正常了;
9.判定应该是SLB没有正确配置的原因。(奇怪为啥当初要进行SSL证书双重配置?)
于是到这里整个调查结束,大概花了20分钟;
注:因我对该项目不熟悉,且是2年前的服务器配置,最初人员都已经替换了几轮(估计是跳到阿里去了),更糟糕的是没有留下任何配置说明,
10.接下来开始设置SLB的HTTP强制转发到HTTPS,参考了阿里云的帮助文档之
简单路由-HTTP 协议变为 HTTPS 协议之一
简单路由-HTTP 协议变为 HTTPS 协议之二
HTTP重定向至HTTPS
palapala...
11.突然发现帮助教程和新的SLB配置页面有些不一样(注:之前都是通过nginx或者apache进行配置的,SLB上还是头一遭,为啥?因为小户人家要精打细算啊)。
教程页面如下
15354469412796_zh-CN.png
新的HTTP配置页面
微信图片_20191211222505.png
大家看见【监听转发】的开关了吗?对,它需要【展开高级配置】后才能看到,我们3人8只眼(别问我为什么多了2只眼)竟然生生的错过了。
12.于是找【监听转发】的按钮花了好久,一开始以为阿里把这个功能给阉割了,琢磨着又不是,反反复复,复复反反配置HTTPS,又配置HTTP,然后又折腾yaml文件,甚至小伙伴们都开始建议要不要在代码里面做个强制跳转,Oh,My God!
13.然事情总是那么的因缘际会,福至心灵。有时候很苦恼的问题对于程序员来说会突然幡然醒悟,
配置好HTTPS后,偶然间点了下【监听转发】的开关,然后kuakuakuakua,一顿操作猛如虎后,分别用HTTP和HTTPS访问域名,居然ok了,瞬间满心的欢喜,内心的奔腾,面对2个多小时的折腾,心想总算对得起十几年的手艺,没有给它丢脸。
微信图片_20191211223416.png
配置成功后的列表页面如下:
QQ截图20191211223808.png

总结

1.虽然是小问题,但是碰到坎的时候别钻牛角尖,有时候洗个脸看个书换个情绪真的会有福报。
2.要多翻阿里云的帮助文档,想起了java手册,html文档,MSDN的日子;
3.SLB配置强转换是有顺序的,先https,再http。删除的时候也是,先http再https,有依赖关系。
4.现在微信小程序,IOS应用包括谷歌等都开始强制使用HTTPS了,很奇怪为啥要把【强制转发】开关给掩藏起来(即通过点击高级配置后才能看到),阿里云的产品说很多客户的网站还是HTTP访问的占了多数,好吧!You Say You Yes。

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
6天前
|
安全 应用服务中间件 网络安全
简单比较 http https http2,我们要如何把http升级为https
【9月更文挑战第13天】本文对比了HTTP、HTTPS和HTTP/2的特点与适用场景。HTTP以明文传输,适合低安全要求的环境;HTTPS通过SSL/TLS加密,适用于电子商务等安全要求高的场景;HTTP/2采用二进制格式和多路复用,适合高性能Web应用。文章还详细介绍了将HTTP升级为HTTPS的步骤,包括申请和安装SSL证书、配置Web服务器、重定向HTTP流量到HTTPS以及测试HTTPS功能。升级到HTTPS可提高数据安全性和用户信任度。
35 13
|
7天前
|
安全 网络安全 数据安全/隐私保护
HTTP与HTTPS协议区别及应用场景
在互联网高速发展的今天,HTTP与HTTPS作为数据传输的基石,作用至关重要。HTTP允许客户端与服务器间传输超文本文档,但其数据传输过程未加密,存在安全隐患;HTTPS则在此基础上加入了SSL/TLS协议,实现了数据加密传输,增强了安全性,广泛应用于电子商务、网上银行、政府网站及社交媒体平台等涉及敏感信息传输的领域,有效保护了用户隐私和数据安全。随着网络安全意识提升,HTTPS正逐渐成为主流。
|
2月前
|
缓存 网络协议 算法
(二)Java网络编程之爆肝HTTP、HTTPS、TLS协议及对称与非对称加密原理!
作为一名程序员,尤其是Java程序员,那必须得了解并掌握HTTP/HTTPS相关知识。因为在如今计算机网络通信中,HTTP协议的作用功不可没,无论是日常上网追剧、冲���、亦或是接口开发、调用等,必然存在HTTP的“影子”在内。尤其对于WEB开发者而言,HTTP几乎是每天会打交道的东西。
63 10
|
28天前
|
Linux Python
【Azure 应用服务】Azure App Service For Linux 上实现 Python Flask Web Socket 项目 Http/Https
【Azure 应用服务】Azure App Service For Linux 上实现 Python Flask Web Socket 项目 Http/Https
|
29天前
|
JavaScript 前端开发 Java
【Azure 环境】各种语言版本或命令,发送HTTP/HTTPS的请求合集
【Azure 环境】各种语言版本或命令,发送HTTP/HTTPS的请求合集
|
2月前
|
安全 程序员 网络安全
HTTP和HTTPS的区别,你真的了解吗?
大家好,我是你们的技术小伙伴小米!今天我们来聊聊HTTP和HTTPS的区别以及HTTPS链接的建立过程,同时了解两种常见的加密算法——对称加密和非对称加密。通过这篇文章,你将深入理解这些网络基础知识,为网站安全保驾护航!
51 7
|
1月前
|
安全 网络协议 搜索推荐
http和https分别是什么?区别是什么?
http和https分别是什么?区别是什么?
64 0
|
1月前
|
运维 安全 网络协议
运维.索引引擎ElasticSearch.记录一个小异常:received plaintext http traffic on an https channel
运维.索引引擎ElasticSearch.记录一个小异常:received plaintext http traffic on an https channel
107 0
|
1月前
|
Java Android开发 UED
安卓scheme_url调端:如果手机上多个app都注册了 http或者https 的 intent。 调端的时候,调起哪个app呢?
当多个Android应用注册了相同的URL Scheme(如http或https)时,系统会在尝试打开这类链接时展示一个选择对话框,让用户挑选偏好应用。若用户选择“始终”使用某个应用,则后续相同链接将直接由该应用处理,无需再次选择。本文以App A与App B为例,展示了如何在`AndroidManifest.xml`中配置对http与https的支持,并提供了从其他应用发起调用的示例代码。此外,还讨论了如何在系统设置中管理这些默认应用选择,以及建议开发者为避免冲突应注册更独特的Scheme。
|
2月前
|
监控 安全 搜索推荐
http和https的区别是什么?
在互联网安全日益成为焦点的今天,使用HTTPS不仅是一种趋势,更是网站运营的基本要求之一。它不仅能够保护用户隐私和数据安全,还能提升网站的可信度和搜索引擎排名。因此,无论是个人网站还是企业级应用,都应当考虑使用HTTPS来保护用户和数据的安全,迈向一个更加安全和可靠的网络环境。
53 0