0

所以我在 https 负载均衡器后面运行了大三角帆,我的外部端口使用标准 443,它将端口映射到仍在端口 9000 上的大三角帆实例。除了来自门的重定向仍然附加: 9000 端口到我的 URL。

发送请求以https://my.url.com/gate/auth/redirect?to=https://my.url.com/#/infrastructure发回带有 301 中的位置标头的重定向响应,该响应location:https://my.url.com:9000/gate/login失败,因为负载均衡器仅侦听 443。如果我手动删除端口并直接进入https://my.url.com/gate/loginoauth 流按预期工作,并且一旦验证了所有卡座功能和随后的门查询按预期工作。

在我的 /etc/default/spinnaker 文件中,我有

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

在 /opt/spinnaker/config/gate-googleOAuth.yml 我有

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

我已经运行/opt/spinnaker/bin/reconfigure_spinnaker.shplus 重新启动以确保甲板和门得到更新。有谁知道我可能会错过什么?

4

1 回答 1

1

我发现了我的问题。借助这个问题为我指明了正确的方向(https://github.com/spinnaker/spinnaker/issues/1112)和一些挖掘,我发现问题出在 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.

来自 apache2 文档https://httpd.apache.org/docs/current/mod/mod_proxy.html#proxypassreverse

于 2016-12-06T17:52:31.103 回答