Как заставить ScriptManager обслуживать сценарии CDN через SSL

У нас есть сайт, обслуживаемый на веб-ферме. Ферма находится за SSL-ускорителем, который обрабатывает шифрование. Это означает, что наши серверы IIS видят все входящие соединения как http, даже если все пользователи подключаются к сайту через https.

Мы начинаем использовать свойство EnableCDN = true в ScriptManager. В то время как в наших средах разработки, где нет SSL Accellerator, ссылки на js-файлы в CDN отображаются с помощью https, в производственной среде они отображаются небезопасно через http, что приводит к блокировке js с помощью «Отображается только защищенный контент. "ошибки.

За исключением ручного обновления всех ссылок на скрипты в диспетчере сценариев или переписывания HTML на выходе через модуль, знает ли кто-нибудь способ заставить диспетчер скриптов отображать ссылки через https?

РЕДАКТИРОВАТЬ:

После некоторого обзора рефлектора я не верю, что это возможно. Я применил следующий хакерский прием, но он явно хрупкий, поскольку требует доступа к частному полю. Если кто-то может увидеть лучший способ, я хотел бы это услышать.

var secureConnectionField = ScriptManager.GetType().GetField("_isSecureConnection", BindingFlags.Instance | BindingFlags.NonPublic);
if (secureConnectionField != null)
    secureConnectionField.SetValue(ScriptManager, true);
11
задан Jake Hall 17 July 2012 в 22:45
поделиться