Вы можете настроить сайты в IIS так, чтобы они требовали сертификат, но при этом A) выдает ошибку, если кто-то не посещает с https и B) требует, чтобы все страницы использовали https. Итак, , что не будет работать. Вы можете установить фильтр на IIS, который проверяет все запросы и перенаправляет их как вызовы https, если они есть в вашем списке шифрования. Очевидным недостатком здесь является необходимость обновления списка страниц при каждом добавлении новой страницы (например, из файла XML или базы данных) и перезапуск фильтра.
Я думаю, что вы, вероятно, правы при встраивании кода в страницы, для которых требуется https, который перенаправляет на версию https, если они приходят через http. Что касается вашей ошибки сертификата, вы можете перенаправить с полным путем (включая www) вместо относительного пути для решения этой проблемы. Если у вас есть какие-либо вопросы о том, как определить, использует ли вызов HTTPS ИЛИ как получить полный путь к текущему запросу, пожалуйста, дайте мне знать. Оба довольно просты, но у меня есть пример кода, если он вам нужен.
ОБНОВЛЕНИЕ - Джош, сертификаты, которые обрабатывают несколько поддоменов, называются сертификатами с подстановочными знаками. Проблема в том, что они немного дороже стандартных сертификатов.
ОБНОВЛЕНИЕ 2 : Еще одна вещь, которую следует учитывать, - это использовать мастер-страницу или производный класс для страниц, которым требуется SSL. Таким образом, вместо дублирования кода на каждой странице, вы можете просто объявить его как тип SSLPage (или использовать соответствующую главную страницу) и сделать так, чтобы класс Master / Parent обрабатывал перенаправление. Опять же, вам придется выполнить некоторую обработку URL, если вы воспользуетесь этим подходом, но это довольно тривиально.