上线问题总结
经过两周多测试、uat终于迎来1217上线,晚上uatbug都修复好之后,林哥请大家吃了火锅,漫长的一晚,11点半终于上线了,
结果生产出现跨域配置问题,大家都懵了,uat测试都好好的。
1.跨域问题
contentType=application-json类型的请求在跨域的情况下会先发起options试探请求,后端没有处理这种特殊情况,因此
请求在没有经过后端跨域配置的拦截之前就返回了,所以跨域配置没有生效
解决:controller层跨域注解废弃,放到拦截器中统一配置,并且单独将optionsMethod加入白名单,保证header allows与前端统一
2.短信验证码发送失败(签名配置中文乱码)
中文乱码是个老生常谈的很头疼的问题了~理解原理、知其所以然就不用再被困扰。
发生这个错误是后端配置文件中文的编码格式错误使用导致,经过分析上线时有人把配置文件中unicode编码的中文短信签名改成了汉字格式、而目前大家
的开发环境系统默认编码格式众口难调,这时候一个gbk环境的2字节中文编码更新到utf8环境的3字节中就出现了乱码
解决:1) 中文统一用unicode编码 2) 开发环境系统默认编码格式统一(这个方案不太建议,因为每个人的开发环境不同,不好控制)