2018-12-12 项目中遇到问题

2018-12-12  本文已影响0人  丹蕾_7933

问题场景:当外部服务不登录,直接访问我们网站此时访问有post、get方式,两种方式的不同解决方式。


外网get方式:

         get访问nginx,nginx拦截   =>    get方式地址直接window['location']['search']中直接通过Base64解析   =>  前端展示   =>   解析之后通过post提交后台。


外网通信非要用post请求方式:(这是属于有病型):

        post访问nginx静态资源代理出现问题,nginx  ===>>>>>504错误,意思nginx获取不到其post请求方式。

         解决方式:

        1、post访问nginx、nginx 不做拦截  =>   后端直接拿到数据做重定向  => 定向到访问页面。(但是这种post方式往往字符过长、超过2083字符,地址栏IE不兼容)

        2、后端拿到数据后直接存储到session中,session存储也面临着一个问题(f5负载均衡问题,当存储的值在服务器1上,返回后访问服务器2,此时数据拿不到)

        3、后端拿到数据后直接存储到redis  =>  后端存储上没问题但是面临一个问题(前端再次提交时,不能确定谁存的redis,所以后端生成id,前端直接提交此id,这样查一个表,可以查到)

        综合上述:

        外面地址   =>   nginx  不做拦截   =>    访问后端,后台存储到redis中生成id  =>  拼接到路径上  => 后端做重定向  =>   前端拿到访问地址  =>  传入id后端通过post提交,后端base64解析返回前端数据。


           此时例子知识存储自己的遇到问题新的,记录今天的问题!!!

上一篇 下一篇

猜你喜欢

热点阅读