架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 9204|回复: 1

阿里云负载均衡slb之http重定向https的坑

[复制链接]
发表于 2019-6-20 10:43:29 | 显示全部楼层 |阅读模式
先普及一下状态码301和302的区别

301 Moved Permanently 被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个URI之一。如果可能,拥有链接编辑功能的客户端应当自动把请求的地址修改为从服务器反馈回来的地址。除非额外指定,否则这个响应也是可缓存的。

302 Found 请求的资源现在临时从不同的URI响应请求。由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。只有在Cache-Control或Expires中进行了指定的情况下,这个响应才是可缓存的。
301适合永久重定向

301比较常用的场景是使用域名跳转。
比如,我们访问 http://www.baidu.com 会跳转到 https://www.baidu.com,发送请求之后,就会返回301状态码,然后返回一个location,提示新的地址,浏览器就会拿着这个新的地址去访问。
注意: 301请求是可以缓存的, 即通过看status code,可以发现后面写着from cache。
或者你把你的网页的名称从php修改为了html,这个过程中,也会发生永久重定向。

302用来做临时跳转

比如未登陆的用户访问用户中心重定向到登录页面。
访问404页面会重新定向到首页。



阿里云负载均衡slb配置如下:

QQ截图20190620102459.jpg

我们使用http重定向到https,明显的意图是永久重定向,并不是临时重定向,这里阿里云却给我我们返回的是临时重定向302状态码。如下图:

QQ截图20190620102934.jpg

用站长之家和爱站网在线测试的返回状态码都是302,我自己用代码测试的也是返回302状态码。

案例分析: 网站302重定向使用不当导致被GOOGLE惩罚

Business.com是网上最大的商业搜索引擎和分类目录,以专业提供商业信息而享负盛名,包括近19万网页。若以“business”为关键词在Google中进行搜索,该网站名列第一。不过在2010年9月5日,Business.com遇到一件蹊跷之事:它的首页PR由8变成了0, 而且Google搜索结果中找不到该首页。好在被“蒸发”的只是首页。不过庆幸的是第二天首页又回到了Google的搜索结果中,但PR仍旧为0。

链接:https://blog.csdn.net/itmop/article/details/83714957

我是今天在百度站长平台“HTTPS认证”,发现一个站点https验证失败了,引起了我的警觉,以前好好的,为什么突然失败了。

无论是302还是301在功能上面并没有任何区别,但是对于seo应该还有有非常大的影响的,要不咋分成了两个不同的状态码。

由于本站使用的是智能DNS解析,可以设置不同地区解析的地址不一样,本站只区别了国内和国外,国内走阿里云,国外走亚马逊AWS,如下图:

QQ截图20190620103555.jpg

用站长之家ping测试,发现有29个独立ip,虽然解析地址都不一样,但是都是会把网址http重定向到https。

我用代码测试了一下阿里云slb和亚马逊cdn,http重定向https返回的结果,如下图:

QQ截图20190620101717.jpg

请求唯一的不同,就是在测试亚马逊的时候,要通过代理去请求,这样才能走国外解析,附上代码:

在测试之前,已经给阿里云提交工单,如下图:

QQ截图20190620104100.jpg

截至此时,并没有解决,也没有说明原因。

(完)




上一篇:history.pushState 实现浏览器页面不刷新修改url链接
下一篇:Add-Migration : 无法将参数绑定到参数“Path”,因为该参数是..
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2019-6-21 10:19:32 | 显示全部楼层
工程师 96514 号 :    您好,抱歉,让您久等了。SLB产品的设计默认就是使用302,无法变更。您可以在SLB上取消端口重定向,而改为在后端Web服务器中设置HTTP重定向至HTTPS,这样您可以自定义状态码。  

QQ截图20190621101002.jpg

这次对阿里云挺失望的,阿里云官网自己用的301状态码,却给客户用302状态码,也没有说明为什么要用302状态码。

对于网站的seo来说,感觉应该会有影响。

胳膊拧不过大腿,咱还是自己配置吧。毕竟也就是几分钟的事,咱一开始并不是因为懒的配置去提问的,只是想一探究竟。

HTTP 流量重定向到 HTTPS 配置教程
https://www.itsvse.com/thread-7727-1-1.html
(出处: 架构师_程序员)

设置SLB的http的80端口,转发到后端的8088端口(后端随便设置即可),配置如下:

记得健康检查,勾选40x状态码

后端重启nginx服务即可。
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-3-28 19:47

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表