2010-10-11 7 views
1

Ceci est dans VS 2005. Et IIS est 6.0. J'essaie d'utiliser le certificat autosigné pour HTTPS. Dans le code je redirige de http à https pour quelques pages. Il ne fonctionne pas bien. Et dans le gestionnaire IIS, pour chaque page que je veux HTTPs, j'ai changé son réglage en cochant "Exiger le canal sécurisé (SSL)" et "Exiger le cryptage 128 bits".Erreur dans HTTPS pour un certificat auto-signé

public void setSecureProtocol() 
    { 
     string redirectUrl = null; 
     bool bSecure = true; 
     bool SecureConnection = true; 
     if (bSecure && SecureConnection) 
      redirectUrl = Request.Url.ToString().Replace("http:", "https:"); 
     else 
      if (!bSecure && SecureConnection) 
       redirectUrl = Request.Url.ToString().Replace("https:", "http:"); 

     if (redirectUrl != null) 
      Response.Redirect(redirectUrl); 
    } 

Pages me jeter une erreur comme celle

La page doit être affichée sur un canal sécurisé La page que vous essayez d' l'accès est sécurisé par Secure Sockets Layer (SSL).

S'il vous plaît essayez ce qui suit:

* Type https:// at the beginning of the address you are attempting to reach and press ENTER. 

Erreur HTTP 403.4 - Interdit: SSL est requis pour accéder à cette ressource. Internet Information Services (IIS) Internet Information Services (IIS)

Quand j'essaie de mettre https au début de la URl, il appelle l'habitude. Je n'ai aucune idée de ce qui ne va pas ici. Sil te plait aide moi.

Ici,

Son pas de redirection de http https.

Pour les pages que je ne redirige pas dans le code derrière, et en changeant dans les IIS, je peux voir le HTTPS lorsque je coche les deux cases à cocher.

S'il vous plaît quelqu'un m'aider !!!! Merci beaucoup d'avance!

Internet Information Services (IIS)

+0

est-ce que vous faites du débogage pour voir si vous changez vraiment le http en https? Peut-être qu'une erreur dans votre logique de flux empêche ce remplacement. – Aristos

+0

Oui, j'ai fait déboguer et voir. Il montre sa redirection vers HTTPS. Mais quelque chose arrive après cela. Mon premier problème ici est: si je devrais avoir le code redirigeant vers https. Ou le certificat le fait-il pour lui-même? – Ram

+0

peut-être il y a une deuxième redirection à nouveau à http?Le code ci-dessus a au moins une erreur - le si (bSecure && SecureConnection) doit être-> si (bSecure &&! SecureConnection) – Aristos

Répondre

0

@Ram Je pense que j'ai trouvé le problème.

i ont changé de réglage en cochant la case « Exiger un canal sécurisé (SSL) » et « Exiger le cryptage 128 bits »

Vous avez limiter le http pour ces pages, donc quand vous l'appelez comme http , la page n'est pas du tout chargée pour exécuter votre code et le rediriger vers https.

Alors supprimez les restrictions pour http pour les pages pour le laisser fonctionner et autoriser le commutateur, et vous prenez juste soin d'être toujours https.

C'est un très nice code to do that

Autre moyen est de changer tous les liens vers la page que vous souhaitez être sûr, et l'envoyer par https, et ne pas attendre pour obtenir sur que les pages pour les changer à partir du code derrière.

+0

@Aristos: Donc vous devriez dire, je devrais décocher "Exiger Secure Channel (SSL)" et "Exiger 128 bits de cryptage" partout et voir? Le lien est juste quelque chose au-dessus de mes niveaux de compréhension , comme im nouveau. :(pourriez-vous s'il vous plaît me dire en détail pour la deuxième manière.J'apprécie vraiment votre aide., merci! – Ram

+0

@Ram Oui, je veux dire que vous supprimez tous les "Exiger Secure Channel (SSL)" de IIS, et gérer cela sur votre code.La deuxième façon: Lorsque vous avez une page avec un lien vers une page sécurisée, puis tapez le chemin complet par exemple: (https: // www.mypages.com/login.aspx) - Vous devez fais ça sur tous les liens qui mènent sur des pages sécurisées – Aristos

+0

@Aristos J'ai tout décoché et la redirection fonctionne très bien, elle montre https quand je vais à la page mais j'ai toujours la même erreur.Il redirige automatiquement vers https après i décochée mais pourquoi est-ce que cela me dérange? Juste pour vous rappeler, j'utilise le s certificat signé elf! Toute autre aide, s'il vous plaît? – Ram

Questions connexes