问题背景:
某应用的后台,通过后面界面上传一个excel文件时,上传到半截是,后面界面显示 504 gateway time-out错误。
问题调查:
经了解,后台应用界面为使用ingress方式访问 ,504错误界面显示的nginx版本信息和ingress-nginx-controller(版本0.23.0)使用的nginx版本相同,问题点在ingress-nginx-controller有关。504 gateway timeout的错误原因在于nginx有关timeout时间设置过短,而后台上传时间过长导致超时。
问题解决:
修改访问该后台界面域名所对应的的ingress资源,在metadata-annotations下面增加如下几行
nginx.ingress.kubernetes.io/proxy-connect-timeout:"300"
nginx.ingress.kubernetes.io/proxy-send-timeout: "300"
nginx.ingress.kubernetes.io/proxy-read-timeout: "300"
默认ingress-nginx-controller配置的nginx.conf的几个timeout参数 都是60,此处修改为300,请根据应用实际情况修改。