nginx 504 Gateway Time-outエラー発生時の設定

印刷

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

オンライン相談

問い合わせ

この回答は役に立ちましたか? はい いいえ

フィードバックを送信
お役に立てずに申し訳ございません。この記事を向上させるためにフィードバックをお願い致します。