UrlHelper вставить порт в абсолютный URL

В нашей настройке среды есть балансировщик нагрузки (под https) и веб-серверы (под http). Так балансировщик нагрузки взаимодействует с веб-серверами через http.

Также нам нужно изменить конфигурацию приложения на безопасный cookie:

AntiForgeryConfig.CookieName = "site";
AntiForgeryConfig.RequireSsl = true;

Когда мы генерируем абсолютный URL-адрес для приложения "action" или "конечная точка api", вставляем 80-порт для получения URL-адреса. Это происходит потому, что у нас есть схема 'http' в контексте запроса и мы добавляем протокол 'https' в качестве параметра к методу UrlHelper.RouteUrl. MVC проверяет, что порт 80 (порт по умолчанию для http из RequestContext) не является протоколом по умолчанию для 'https' (запрошенный протокол), и добавьте порт в URL.

Фактический результат:

https://website.com:80/questions/ask

Ожидаемый результат:

https://website.com/questions/ask

Каков наилучший способ решить эту проблему?

0 ответов

Другие вопросы по тегам