メインコンテンツまでスキップ

リモートブラウザ使用時に502 Bad Gatewayが発生する現象

一般的にrb-appこれを使用するport (ex : 30110 ~ 30xxx)と通信ができない場合に発生します

予想されるケース

可能性が高いですが、必ずしも以下のケースに該当するわけではありません。

  • rb-appが30xxxポートを占有できない問題
  • rb-appは30xxxポートを占有していますが、k8s Serviceがpodと通信できない問題。
  • rb-appポッドがRunning状態でない問題

点検方法

点検方法 : rb-app が 30xxx ポートを占有できない問題

最初に確認すべき事項

rb-appが외부(www.naver.com 등 외부망)ワと通信が불가능同じ環境で k8s rb-manager configmap のRB_CHROME_ARGS--disable-component-update502が発生する場合

RB_CHROME_ARGS: '--no-sandbox --enable-unsafe-webgpu --lang=ko --disable-component-update'このように--disable-component-updateが必ず含まれていなければなりません!!

  • --disable-component-update 옵션의 역할: ワイドバインのダウンロードが進行していないため、動画のDRMを使用する場合は使用できません。

クロミウムが自らWidevineをインストールするために外部ネットワークと通信を試みます。この時、インストールが不可能な場合、ポートの占有に失敗し、k8sポッドはアクティブですが通信を試みると502状況が発生する

その他

  1. rb-app podが動作中のホストに(特に問題がなければほとんどがworkerNodeである)ssh接続
  2. sudo lsof -iTCP:30100-30199 -sTCP:LISTENまたはss -tuln | grep -E ':(301[0-9][0-9])\b'現在使用中のポート一覧を確認する (単 lsof 使用時は sudo が必須!! sudo 権限なしではポートが表示されない)
iadmin@dev-kubernetes-worker-5:~$ ss -tuln | grep -E ':(301[0-9][0-9])\b'
tcp LISTEN 0 511 *:30110 *:*
tcp LISTEN 0 511 *:30112 *:*
tcp LISTEN 0 511 *:30113 *:*
  1. 30xxxポートが사용중(LISTEN)認知確認
  2. そのポートを占有しているプロセスがrb-appこの可能性もあるので、追加でrb-appログファイルも確認するとさらに良いです。
  3. rb-app podにsshで接続
  4. logsフォルダーに移動
  5. rb-svc-*.log形式のログファイルの中で最も最近の日付のファイルを閲覧する(catを使うかtailを使うか方法は自由)
nobody@dev-kubernetes-master-2:~/logs$ tail -f rb-svc-2025-08-07.log 
2025-08-07T05:46:14.951Z [info] js-flags : --turbo-fast-api-calls --sparkplug --concurrent-recompilation --turbo-inline-array-builtins --turbo-load-elimination --use-osr
2025-08-07T05:46:16.885Z [info] Server is listening on port 30115
  1. [info] Server is listening on port 30xxxログが出力されているか確認
  2. もしalready port「すでに使用中のポート」というログが表示されている場合、rb-appではなく他のプロセスがそのポートをすでに占有しているために発生する問題であり、rb-managerのconfigmapを修正してポート範囲を変更する必要があります。
  3. [info] Server is listening on port 30xxxログも見えずalready portログが表示されない場合、他の問題が発生している可能性があるため、rb-appのログレベルをdebugtrace変更後にログを再確認する必要があります。

点検方法 : rb-app が 30xxx ポートを占有しているが、k8s サービスで pod と通信できない問題

rb-svcが正常に30xxxポートをリッスン中ですが通信ができない場合、k8sサービスでポッドと通信できない問題の可能性があります。

  1. rancherへの接続
  2. サービスディスカバリー -> サービスページに移動
  3. フィルターにrb-appで検索
  4. rb-app-service-*サービスの名前がactive状態が正しいか確認する
  5. rb-app-service-*edit configまたはedit yamlを選択してports情報が正常であるか確認する
  ports:
- port: 80
protocol: TCP
targetPort: 30110
  1. すべて正常ですが、接続できない場合は他の問題があるため、追加のエラー分析が必要です。

点検方法 : rb-app podがRunning状態でない問題

  1. rancherへの接続
  2. workload -> pods ページにアクセス
  3. フィルターにrb-appで検索
  4. 右側のもっと見る(3つの点)ボタンをクリックしてview logs確認
  5. ログ分析による原因特定が必要です