访问414是因为请求头参数过长的错误,解决办法为加大client_header_buffer_size 和large_client_header_buffers的配置,需要修改nginx配置项
我这里使用的是k8s,如果jenkins 也是同样的道理
如果是多层nginx则需要定位问题产生源的层级如下是我的问题产生。
通过http内网路由访问服务A
需要在Kubernetes nginx-ingress-controller修改配置项
如阿里云,添加则提示支持中划线,下划线。
直接输入下划线则不生效,可能直接报错,我这个版本是报错。
因内部直接将下划线转义成中划线处理,所以此处需要填写中划线
client_header_buffer_size 和large_client_header_buffers必须配置到nginx-ingress-controller的nginx-configuration
里面,进而注入到nginx.conf里面的http配置段覆盖默认值;通过ingress的annotation,虽然能单独配置client_header_buffer_size 和large_client_header_buffers,注入到nginx.conf的server段,但是优先级较低,系统仍以http的配置为主。
client_header_buffer_size 和large_client_header_buffers配置到nginx-ingress-controller的configuration里面时,必须改成中划线。