【问题原因】
HTTP GET请求参数过长是因为浏览器及服务器对其有所限制。iServer本质是Tomcat服务器。
【解决方案】
项目中升级 iserver-gateway 镜像从 10.1.4a 到 11.1.0,添加以下环境变量:
1、为 iserver-gateway 添加环境变量 icn_ext_param_server_netty_maxInitialLineLength=102400。
2、为 iserver-geoprocessing 添加环境变量 icn_ext_param_server_maxHttpHeaderSize=102400;以及 server_maxHttpHeaderSize=102400。前一个环境变量是 iserver-geoprocessing 所需要的,后一个环境变量是 geoprocessing-server 子进程所需要的。
3、修改云套件 ispeco-ingress annotation,将 "nginx.ingress.kubernetes.io/proxy-body-size"修改为 "1024m",新增 annotation "nginx.ingress.kubernetes.io/server-snippet": "client_header_buffer_size 100k;large_client_header_buffers 4 100k;"