重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
总篇第97篇 2020年第21篇
靖远网站建设公司创新互联,靖远网站设计制作,有大型网站制作公司丰富经验。已为靖远上千多家提供企业网站建设服务。企业网站搭建\成都外贸网站建设公司要多少钱,请找那个售后服务好的靖远做网站的公司定做!一、背景海外市场推广已有很长一段时间,原有域名积攒了很多老用户和市场份额,考虑到未来汽车之家业务多元拓展,为了开启汽车之家全新的海外市场推广,公司经过精心策划、挑选,决定启用全新的海外业务域名与logo。为了提高老用户对新域名的接受度,同时不影响用户优质的体验度,采取逐步过渡方式来推进新域名切换。
二、切换方案制定1、域名切换方案公司采购4个全新域名,yesauto.com作为主站域名向海外国际市场推广。根据不同国家地区的行业情况,其他3个域名作为之家海外国家区域级的汽车网站域名。之家技术团队运维、业务后端、业务前端经过多次全面的技术考量,结合实际场景,最终达成一致,决定对老域名分两步进行切换:
老域名autoquay.com及其子域名 切换到yes.auto及其子域名,其中yes.auto作为过渡主站域名;
yes.auto及其子域名 切换到yesauto.com及其子域名。
2、域名切换规则
2.1、第一次域名切换跳转规则访问主域
访问 autoquay.com 跳转至 yes.auto
访问 yes.auto 跳转至 yes.auto
访问 yesauto.co.uk 跳转至 yes.auto/uk
访问 yesauto.de 跳转至 yes.auto/de
自动跳转(用户未自主选择国家)
访问 yes.auto 英国IP 跳转至 yes.auto/uk
访问 yes.auto 德国IP 跳转至 yes.auto/de
访问 yes.auto 其他IP 跳转至 yes.auto/uk
自动跳转(用户自主选择过国家 - cookie)
访问 yes.auto 跳转至 上次所选国家的具体目录
访问带有具体路径
访问 yes.auto/uk/abc 不进行二次跳转
访问 yes.auto/de/abc 不进行二次跳转
2.2、第二次域名切换跳转规则(一) 访问主域
访问 yes.auto 跳转至 yesauto.com
访问 yesauto.co.uk 跳转至 yesauto.com/uk
访问 yesauto.de 跳转至 yesauto.com/de
(二) 自动跳转(用户未手动切换国家)
访问 yesauto.com 英国IP 跳转至 yesauto.com/uk
访问 yesauto.com 德国IP 跳转至 yesauto.com/de
访问 yesauto.com 其他IP 跳转至 yesauto.com/uk
(三) 自动跳转(用户曾手动切换过国家)
访问 yesauto.com 跳转至 上次所选国家的具体目录
(四) 访问带有具体路径
访问 yesauto.com/uk/abc 不进行二次跳转
访问 yesauto.com/de/abc 不进行二次跳转
(五) autoquay.com不再使用,不加 www 的,自动带上 www。
三、前期准备1、域名信息整理之家海外业务目前使用公有云AWS作为基础设施,通过route53统计DNS记录,整理出一份海外业务域名信息表,包括:域名名称、DNS记录类型、DNS记录值、接口人、运行环境(虚机or 容器)等。
2、业务接口人梳理原有海外业务域名的接口人信息早已陈旧,需要重新梳理对应人员信息。结合域名信息表和原有接口人信息,与业务团队负责人沟通确认,逐一完善新的域名信息表。
3、新域名解析导入新域名的NS记录已生效,为了节省域名切换操作时长,在新域名正式切换前,预先将原有业务域名导入新的DNS解析中,并置于未生效状态。
四、技术实施1、操作流程PMO发起域名切换需求,并立项;
PMO、运维、前端、后端接口人沟通需求,确定操作方案,指派统筹协调人;
运维 整理旧域名信息表,发送 域名切换项目成员;
运维作为统筹协调人,发起实施公告,协调各方按操作方案实施;
前端、后端接口人指派任务给其他成员,开始实施操作,运维协助支持;
前端、后端各业务方联调、测试;
产品验收,PMO公告结项。
2、运维侧实施2.1、整理旧域名信息表
通过DNS记录,导出所有海外业务的旧域名autoquay.com记录值,整理成excel表,发送给各个业务方。
2.2、准备新域名DNS记录
按照dnspod格式,将旧域名autoquay.com记录值写入excel表,登录dnspod控制台,批量导入excel表。再次导出新域名excel表,整理完善信息后,发送给各个业务方。
2.3、配置新增与修改
为了保障新老域名的稳定过渡,新老域名切换后需要并行运行一段时间,一部分业务运行在虚机上,需要创建新域名的七层LB nginx配置。另一部分业务运行在容器中,需要新增容器,同时要更改对应的dns记录。对外提供服务的域名 需要新增CDN。
2.4、协调各方切换域名
根据步骤2.2 新域名excel表,协调业务接口人对各自负责的业务进行新域名切换,并跟进各个业务方自测验证。
2.5、协调各方联调
协调各个业务线的前端、后端接入上下游业务模块,进行全方位地联调测试,并根据域名跳转规则,修改对应dns记录、nginx配置。
3、用产前端侧实施3.1、APP端域名切换将全部所使用的域名都定义为静态常量,在请求url地址中采用动态拼接的方式,即:域名+路径+访问所需参数(组合为最终的url地址),最后各个页面中按照实际情况来动态组合url。
调整测试环境和正式环境域名;
调整邮箱地址;
调整站内与域名相关的文案;
站内图片修改;
3.2、M端/PC端域名切换调整接口域名(src/utils/api.js):正式环境接口需全部调整为新域名,测试环境不做强制要求,根据需求进行修改(测试环境接口对应文件中接口数组中的第一项,正式环境对应第二项)
调整 DNS 预解析(src/pages/_app.js):将dns-prefetch相关域名进行调整
调整 canonical(src/pages/news/main.jsx):同页面 M 站点对应的 PC 站点域名调整,用于搜索引擎抓取
调整 iub 隐私协议 (src/pages/_document.js):修改协议页面链接域名为新域名
调整通用头组件(src/comps/Layout/Header/index.jsx):导航栏内链接到新域名站点
3.3、PC端域名切换调整接口域名(src/utils/api.js):正式环境接口需全部调整为新域名,测试环境不做强制要求,根据需求进行修改(测试环境接口对应文件中接口数组中的第一项,正式环境对应第二项)
调整邮箱地址(src/comps/Layout/Footer/i18n/*):注意德国和英国都需要修改。
调整VR页面地址(src/pages/search/comps/Series/index.jsx):调整VR路径域名。
调整DNS预解析(src/pages/_app.js):将dns-prefetch相关域名进行调整。
调整图片裁切组件(src/utils/imgCrop):添加对新域名的裁切,更改$host变量。
4、用产后端侧实施4.1、域名梳理
根据运维侧提供的现有域名表,分配相关负责人进行实施准备工作。
4.2、域名跳转规则开发
根据《域名切换跳转规则》对相关域名进行业务逻辑开发,并实现相关规则跳转。
4.3、业务数据库修改
更新业务库中的图片地址、视频地址为新域名。
4.4、配置服务器修改
更新configmanager配置中心为新域名。
4.5、更新之家云容器环境接入配置域名
4.6、邮箱与第三方登录帐号
1)应用邮箱替换
注册验证码、忘记密码、用户feedback问题、首页帮助等相关的邮箱全部替换成新域名邮箱。
2)第三方账号替换:Twitter, Facebook
4.7、三方系统对接
1)更新风控系统域名
2)更新大数据平台域名
五、结语海外站yesauto.com以全新面貌已运行一个多月,经过本次域名切换的历练,提高了海外项目各个技术团队的团队协作能力,增强了团队的凝聚力。并且通过本次活动,也让团队对目前的架构体系有了更深入的理解,并从中发现了部分我们需要进一步提高的地方。很荣幸作为代表 编写此文,在此感谢用产前端团队、用产后端团队、云平台运维团队的配合,为我们自己鼓掌加油。