2016-12-05 21 views
0

したがって、私は、スピンがhttpsロードバランサの背後で実行されていて、外部ポートは標準の443を使用してポート9000上のspinnakerインスタンスにマッピングされたポートを取得します。ゲートからのリダイレクトがまだ:9000ポートをURLに追加している以外は動作します。 https://my.url.com/gate/auth/redirect?to=https://my.url.com/#/infrastructureに送らSpinnaker Gateが誤った認証URLにリダイレクトしています

リクエスト私は手動でポートを削除し、期待通りのOAuthのフローが働く右https://my.url.com/gate/loginに行けば、ロードバランサが唯一の443のために待機しているので、失敗した301 location:https://my.url.com:9000/gate/loginでのロケーションヘッダでリダイレクト応答を返送かつてはすべてのデッキ機能とそれに続くゲートクエリが期待通りに機能するようになっています。私は

spring: 
oauth2: 
    client: 
    preEstablishedRedirectUri: ${SPINNAKER_GATE_BASEURL}/login 
    useCurrentUri: false 

を持っていると私は/opt/spinnaker/bin/reconfigure_spinnaker.shを走ってきた私は/opt/spinnaker/config/gate-googleOAuth.ymlで

SPINNAKER_DECK_BASEURL=https://my.url.com 
SPINNAKER_GATE_BASEURL=https://my.url.com/gate 

を持っている私は、/ etc/default /スピネーカーファイルで

デッキとゲートが更新されるように再起動します。誰かが私が逃しているかもしれないアイデアはありますか?

答えて

0

私は自分の問題を理解しました。この問題の助けを借りて私に正しい方向(https://github.com/spinnaker/spinnaker/issues/1112)といくつかの掘り下げを指摘したところ、この問題はapache2とリバースプロキシを使ってゲートしていたことがわかりました。 apache2のドキュメントから

ProxyPassReverse 

This directive lets Apache httpd adjust the URL in the Location, Content-Location 
and URI headers on HTTP redirect responses. This is essential when Apache httpd 
is used as a reverse proxy (or gateway) to avoid bypassing the reverse proxy because 
of HTTP redirects on the backend servers which stay behind the reverse proxy. 

https://httpd.apache.org/docs/current/mod/mod_proxy.html#proxypassreverse