nginx 504 Gateway Time-out 에러 발생 시 설정

Print

nginx 504 Gateway Time-out 에러가 발생할 경우에는 각 Ingress Controller 별로 아래와 같이 설정합니다.

IBM Kubernetes Service(IKS) Ingress Controller

Ingress 리소스에 다음의 어노테이션을 추가합니다.

client-max-body-size

클라이언트가 요청의 일부로 전송할 수 있는 최대 본문 크기를 설정합니다.

https://cloud.ibm.com/docs/containers?topic=containers-ingress_annotation#client-max-body-size

샘플 Ingress 리소스 YAML

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
 name: myingress
 annotations:
   ingress.bluemix.net/client-max-body-size: "serviceName=<myservice> size=<size>; size=<size>"
spec:
 tls:
 - hosts:
   - mydomain
   secretName: mytlssecret
 rules:
 - host: mydomain
   http:
     paths:
     - path: /
       backend:
         serviceName: myservice
         servicePort: 8080

proxy-connect-timeout, proxy-read-timeout

백엔드 앱이 사용할 수 없는 것으로 간주되기 전에 백엔드 앱에 연결하고 백엔드 앱에서 읽기 위해 ALB가 대기하는 시간을 설정합니다.

proxy-connect-timeout: 백엔드 앱에 연결하기 위해 대기하는 시간(초 또는 분)입니다(예: 65s 또는 1m). 연결 제한시간은 75초를 초과할 수 없습니다.

proxy-read-timeout: 백엔드 앱을 읽기 전에 대기하는 시간(초 또는 분)입니다(예: 65s 또는 2m).

https://cloud.ibm.com/docs/containers?topic=containers-ingress_annotation#proxy-connect-timeout

샘플 Ingress 리소스 YAML

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
 name: myingress
 annotations:
   ingress.bluemix.net/proxy-connect-timeout: "serviceName=<myservice> timeout=<connect_timeout>"
   ingress.bluemix.net/proxy-read-timeout: "serviceName=<myservice> timeout=<read_timeout>"
spec:
 tls:
 - hosts:
   - mydomain
   secretName: mytlssecret
 rules:
 - host: mydomain
   http:
     paths:
     - path: /
       backend:
         serviceName: myservice
         servicePort: 8080

이 답변이 유용합니까? 아니오

Send feedback
도움을 드리지 못해 죄송합니다. 피드백을 주시면 이 문서의 품질을 높이겠습니다.