阿里云SLB上http强制跳转到https问题处理

背景:

   最近一客户有一个需求,需要将外网所有http访问请求强制跳转到https,公网出口使用阿里云SLB,证书放在SLB上,SLB后端实例为ECS(webserver)web服务使用nginx,

网络拓扑图如下:

阿里云SLB上http强制跳转到https问题处理_第1张图片


问题:SLB上https:443端口监控检测失败,https跳转不成功

状态:

阿里云SLB上http强制跳转到https问题处理_第2张图片


111b415e58396e0e7e2b4ef342ad3ab864e64858


访问网站时浏览器报502错误

阿里云SLB上http强制跳转到https问题处理_第3张图片


排查过程:

根据502错误,判断是后端实例有问题

1 查看nginx服务是否有正常启动

feae903edffdec3fd84e479c522043fcccae96e7

2、首先查看后端实例上是否有开启443端口

40345d603b49c7f1096150a2e54a2cf20c365b94


3 查看nginx重定向配置:

阿里云SLB上http强制跳转到https问题处理_第4张图片

发现80端口和443端口在nginx的同一个server标签内,此处配置有问题


修改:将80和443两个服务端口扯开,放到nginx的两个server标签中

阿里云SLB上http强制跳转到https问题处理_第5张图片


重启nginx服务。SLB上443端口健康检测成功

再次访问网站成功!

阿里云SLB上http强制跳转到https问题处理流程

你可能感兴趣的:(阿里云SLB上http强制跳转到https问题处理)