用户反馈,服务部署后登录白版,工作流无法新建,跳转错误,组合模型访问失败等问题
排查发现:

  • 部分接口authId为空
  • 原因时cookie中的Context为/而不是/external/micros/asset/HappyServer
  • 跳转为nginx地址,而不是域名
  • 代理服务存在多级代理,第一级代理是第三方无法改变配置

原因

服务的ContextPath不是/HappyServer而是/external/micros/asset/HappyServer
浙里报已经指定分配了服务名称,不允许更改,并且作为第一层代理,已经指定代理到指定HappyServer服务,不允许更改

处理方式:

让tomcat的ContextPath与第三方指定服务名保持一致,写入的cookie可以起效
让第二层代理的Nginx的服务名成输出成HappyServer,并写死部分配置(第一层的转发我们无法干预)
这样不论跳转还是cookie都能保证正常

第一级代理/external/micros/asset/HappyServer
->
(nginx)HappyServer
->
(tomcat)/external/micros/asset/HappyServer

具体方式:
通过修改配置解决:
tomcat增加

将url路径指向/external/micros/asset/HappyServer
nginx配置修改

location /HappyServer {
      proxy_pass            http://127.0.0.1:18084/external/micros/asset/HappyServer;//直接执行修改后的tomcat
      proxy_set_header   zlb.czt.zj.gov.cn:443;//域名端口写死
      proxy_redirect    http:// https://;//http跳https
      proxy_set_header   X-Forwarded-Proto  https;//写死
      proxy_set_header   X-Forwarded-Scheme https;//写死
      proxy_set_header   X-Real-IP        $remote_addr;
      proxy_set_header   X-Forwarded-For  zlb.czt.zj.gov.cn:443;//跳转写死
      add_header 'Access-Control-Allow-Credentials' 'true';
         #proxy_cookie_path / "/; httponly; samesite=none";//这个配置导致了cookie的context错误
         #proxy_pass        $v_lczReportServer;
         #proxy_redirect    default;
        }
作者:fanchengliang  创建时间:2025-03-24 10:58
最后编辑:fanchengliang  更新时间:2025-04-22 15:31