302 редирект с доменом, если не аутентифицирован - PullRequest
0 голосов
/ 05 марта 2019

Мое приложение asp.net перенаправляет меня на страницу регистрации всякий раз, когда я не аутентифицирован.

Проблема в том, что расположение заголовка ответа ://mydomain.com/login, но я хочу, чтобы оно было /login.

Я использую обратный прокси, и имя домена переписывается с именем машины. Это приводит к тому, что при запросе ://mydomain.com/ перенаправление будет ://machinename/login.

Я не хочу, чтобы имя машины было общедоступным.

Есть ли параметр, который я могу изменить, чтобы решить эту проблему?

1 Ответ

0 голосов
/ 06 марта 2019

Ваш вопрос о том, как получить реальный внешний хост в ASP.NET Core: клиенты знают только о ://mydomain.com.И ваш обратный прокси-сервер перенаправляет запросы на ://machinename (веб-сайт ASP.NET Core).

Не уверен, как работает ваш обратный прокси.Но гораздо лучше настроить свой прокси для автоматической установки хоста.например, конфигурация для nginx:

proxy_redirect           off;
proxy_set_header         Host                    $host;
proxy_set_header         X-Real-IP               $remote_addr;
proxy_set_header         X-Forwarded-For         $proxy_add_x_forwarded_for;
proxy_set_header         X-Forwarded-Proto       $scheme;

и зарегистрируйте промежуточное ПО для работы с хостом Forwarded на вашем Startup.cs.

app.UseForwardedHeaders(new ForwardedHeadersOptions{
    ForwardedHeaders = ForwardedHeaders.XForwardedHost|ForwardedHeaders.XForwardedFor|ForwardedHeaders.XForwardedProto
});

. Таким образом, ядро ​​ASP.NETсможет реализовать реальный хост / порт / схему и т. д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...