ロードバランサーに関連する問題

ロードバランサ― / リバースプロキシの背後で実行した場合、CircleCI で接続失敗のエラーが発生することがあります。 これは、ロードバランサ―で処理される HTTPS url を、CircleCI が受信できないためです。 この構成の一般的なパターンは次のとおりです。

(User) --HTTPS--> (Load Balancer ) --HTTP--> (CircleCI)

次のような GitHub 認証エラーが表示される場合があります。

error_description=The+redirect_uri+MUST+match+the+registered+callback+URL+for+this+application.&error_uri=https%3A%2F%2Fdeveloper.github.com%2Fenterprise%2F2.11%2Fv3%2Foauth%2F%23redirect-uri-mismatch

システム変数 CIRCLE_URL を使用して、HTTPS url を定義できます。

  1. CircleCI で公開されているホスト名を見つけます。これは、:8800/settings で定義されているものと一致している必要があります
  2. Services node sudo vi /etc/circle-installation-customizations のカスタマイズファイルを編集します
  3. HTTPS プレフィックスを含むホストへのフルパスを追加します (例:export CIRCLE_URL=\"https://circle.example.com\")
  4. Replicated コンソールからサービスを再起動します

 

フロントエンドが自動的に更新されないエラーが発生する場合もあります。

pusher-94f425ff3b262f615972fa7cdfed368b.min.js:72 WebSocket connection to 'wss://circleci.org.net/app/circle?protocol=7&client=js&version=2.2.4&flash=false' failed: Error during WebSocket handshake: Unexpected response code: 404

この問題を解決するには、ELB とサービスボックスとの間に SSL 証明書を追加し、ポート 443 とポート 443 を接続します。 通常、ELB はサービスクライアントのポート 443 ではなく、ポート 80 への接続を試みます。

 

この記事は役に立ちましたか?
1人中1人がこの記事が役に立ったと言っています

コメント

0件のコメント

記事コメントは受け付けていません。