前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >域名切换及HTTPS协议改造需要做哪些工作

域名切换及HTTPS协议改造需要做哪些工作

作者头像
普通程序员
发布2019-10-23 11:44:18
1.4K0
发布2019-10-23 11:44:18
举报
文章被收录于专栏:普通程序员普通程序员
一、背景

去年(16年)年末,在苹果等大厂商的推动下,很多公司掀起了一股全站HTTPS化改造的热潮。58到家也做了这个工作,当时,58到家大量业务所使用的域名在jzt.58.com下,需要前将业务迁移到daojia.com域名。最后选择了域名切换与HTTPS协议升级同时执行的方案。

二、可能遇到的困难

1、涉及技术团队很多

这次改造涉及家政、丽人、速运、开放平台、支付、基础服务、架构、运维、前端FE团队、移动端(Native)、H5等团队

2、牵涉所有渠道

涉及到大量的投放渠道,包括到家App,同城App,赶集App,微信钱包,公众号,若干合作伙伴,店铺二维码……

三、方案整体思路

1、修改系统,支持双协议、双域名。http://jzt.58.com,https://jzt.daojia.com同时生效。(涉及唯一授权域的某些功能可能只能在其中一个域下生效)

2、分渠道逐步切换。比如,先切换App,再切微信钱包。

四、技术方案要点

1、统一登录系统(Passport)打通跨域登录。

用户在jzt.58.com域下登录过,切换到daojia.com域名不需要用户再次登录(少数浏览器,基于安全原因做不到) 。某些业务系统由于历史原因,Passport无法覆盖到,需要在跳转传参的环节特殊处理。

2、HTTP,HTTPS双协议兼容

1)https配在nginx

https到nginx层,nginx向http协议头中添加属性(标明访问协议是http还是https),然后将请求转发到tomcat。应用系统通过解析协议头中的属性,确定访问协议,针对不同协议,作出相应的响应。

2)图片、js等资源

资源域名改为没有协议的形式。如http://jzt.58.com/abc.jpg改为jzt.58.com/abc.jpg即可支持双协议

有些资源的连接地址通过服务返回,这类地址需要仔细梳理并修改

js文件中发起的对http协议地址的请求也需要特别处理

3、双域名并存

1)入口决定域名

没有被Passport完全覆盖的业务,如果域名与主站(首页)不一致,将丢失用户登录信息。主站需要进行一些改造,根据访问主站首页的域名,确定跳转界面的域名。

2)特殊渠道特殊处理

微信钱包等渠道,涉及授权域问题。有些功能只允许在一个域名下运行。需要保证这个渠道某一时刻只能存在一个域名发起的访问(实际切换中,微信的授权域好像有一段时间的过渡期,过渡期内两个域名都合法)

3)支付回调授权域

支付回调授权域一般有多个(3个),可以满足域名切换需求。但是,如果因为别的原因导致支付回调授权域不够用(被其他业务占用了),就需要特别处理。

4、分渠道切换

根据业务需求,一个一个渠道的切换。一般做法,先通过nginx跳转,将入口(首页)域名(域名中包括渠道参数,可以区分渠道)重定向到新的域名,等切换完成功能稳定后,再联系相关渠道修改入口域名。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 普通程序员 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档