Pergunta

Eu tenho um único diretório no meu ASP.Net site que eu preciso ter o SSL Habilitado.Para todos os outros diretórios, eu não quero SSL Habilitado.

Usando o IIS, verifiquei a Exigir canal de segurança (SS) e a criptografia de 128 bits caixas de verificação para a pasta que eu quero para exigir SSL.

Agora, quando um usuário digita em "http://", para o meu diretório seguro, eu quero automaticamente redireciona-los para "https://".Eu tentei duas abordagens, e ambos falharam.

Abordagem 1:Alterar o IIS Personalizados Erros de página para o diretório para 403;4 para uma URL apontando para :"/Intranet2/SSLRedirect.aspx".O SSLRedirect irá apontá-los para o site correto.Quando faço isso, recebo O pedido especificado não pode ser executado a partir do Pool de aplicativos atual" erro", mesmo que o url é uma parte do site, e só tenho uma pool de aplicativos para o site inteiro (não o DefaultAppPool).

Abordagem 2:Adicionar uma web.configuração no diretório para substituir a 403 do código de erro.Este aspecto:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.web>
        <customErrors defaultRedirect="../Default.aspx" mode="On">
            <error statusCode="403" redirect="../SSLRedirect.aspx" />
        </customErrors>
    </system.web>
</configuration>

Mas quando eu fizer essa alteração, eu sempre fico com o padrão 403.4 definidas no IIS.

Alguma sugestão?

Foi útil?

Solução

Abordagem 1:Você parece ser enganado em pensar que você só tem um pool de aplicativos configurados para o site inteiro.Você provavelmente tem uma para o site padrão e outra para um diretório virtual que você está trabalhando.Suas opções são :

a) Reconfigurá-lo para que você realmente tem um pool de aplicativos para o site inteiro,

b) Servir a página de erro de um diretório que esteja no mesmo pool de aplicativos como a página de gerar o erro

c) Ajustar o registro para encerrar este erro de fora:Conjunto IgnoreAppPoolForCustomErrors para 1 em HKLM\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters .Ver http://blogs.msdn.com/b/rakkimk/archive/2006/09/01/735684.aspx

Abordagem 2:Erros personalizados na web.configuração são usadas somente se asp.net é o erro de processamento.Eu acredito que o IIS não é envolvente asp.net a manipulação do mecanismo aqui porque a seleção ssl falhou.Portanto, esta simplesmente não funciona aqui.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top