У меня есть серверное приложение Blazor (netcore 3), которое использует аутентификацию через OpenID / Okta.
Я начал тестировать его через IIS, и запуск в качестве обычного веб-сайта работал нормально.
Но мне нужно запустить его через обратный прокси-сервер из-за остальной части нашей настройки, и после того, как я установил это, сайт Blazor больше не функционирует.
Наш обратный прокси прост, просто требуется url (https: //subdomain.domain.com) и направляет его внутри (http: // localhost: 8093). Здесь подключены и другие сайты, это был просто пример.
Мне удалось заставить все ресурсы (css, js, изображения) работать правильно, добавив «app.UseForwardedHeaders», но я у меня все еще есть проблема с аутентификацией.
Для аутентификации он настроен с помощью services.AddAuthentcation и AddOpenIdConnect, который запускается MVC вызовом Account / Login, который выдает HttpContext.ChallengeAsyn c .
Запуск приложения в автономном режиме или на его веб-сайте, логин работает и перенаправляет на Okta (https: //oktadevurl.com/oauth2/default/v1/authorize?parameters).
Через обратный прокси-сервер этот URL становится относительно прокси-адреса (https: //subdomain.domain.com/oauth2/default/v1/authorize?parameters), что неверно.
Я дважды проверил заголовки пересылки и настройки OpenId / Okta. Я ищу тех, кто сталкивался с этой проблемой раньше и мог бы указать мне в правильном направлении, как получить абсолютные URL-адреса, работающие от Blazor через обратный прокси.
Спасибо.