Я тестирую новый загружаемый баланс, и https настроен на уровне балансировки нагрузки, а не на уровне сайта. Кроме того, этот сайт будет всегда https, поэтому мне не нужны удаленные атрибуты https и т.д. URL-адрес отображает https, но он недоступен в моем коде. По этой причине у меня есть несколько проблем.
Request.Url.Scheme всегда http:
public static string GetProtocol()
{
var protocol = "http";
if (HttpContext.Current != null && HttpContext.Current.Request != null)
{
protocol = HttpContext.Current.Request.Url.Scheme;
}
return protocol;
}
То же самое с этим базовым url, протокол http
public static string GetBaseUrl()
{
var baseUrl = String.Empty;
if (HttpContext.Current == null || HttpContext.Current.Request == null || String.IsNullOrWhiteSpace(HttpRuntime.AppDomainAppPath)) return baseUrl;
var request = HttpContext.Current.Request;
var appUrl = HttpRuntime.AppDomainAppVirtualPath;
baseUrl = string.Format("{0}://{1}{2}", request.Url.Scheme, request.Url.Authority, appUrl);
if (!string.IsNullOrWhiteSpace(baseUrl) && !baseUrl.EndsWith("/"))
baseUrl = String.Format("{0}/", baseUrl);
return baseUrl;
}
Теперь самой большой проблемой является ссылка на js файлы и шрифты google, упомянутые в таблицах стилей. Я использую//здесь без http или https, но они рассматриваются как http и я вижу смешанное содержимое, заблокированное в FireBug.
Как я могу решить эту проблему?