Você não pode simplesmente configurar seu site para exigir SSL e modificar a página de erro personalizada 403.4 para redirecionar automaticamente para https? Eu usei esse tipo de coisa por anos antes de começarmos a terminar o ssl no balanceador de carga. O código na página de erro personalizada 403-4.htm seria algo assim:
<html><head><title>Error 403.4</title>
<meta name="robots" content="noindex">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"></head>
<body>
<script language="JavaScript">
var href = self.location.href;
var originalURL = href.substring(7,href.length);
self.location = 'https://' + originalURL;
</script>
</body>
</html>
Este é um script bem antigo que já existe há algum tempo e provavelmente há uma maneira mais legal de fazê-lo, mas isso funciona bem.