Итак, у меня есть спинакер, работающий за балансировщиком нагрузки 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/login
, поток oauth работает, как ожидалось, и после аутентификации все Функциональность колоды и последующие запросы к воротам работают, как и ожидалось.
В моем файле /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.sh
плюс перезапуски, чтобы убедиться, что палуба и ворота обновлены. У кого-нибудь есть идеи, что мне может не хватать?