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
Каков наилучший способ решить эту проблему?