Accéder à des sites https avec adresse IP
Je me demande pourquoi je suis arriver certificat d'erreur si j'essaie d'accéder à un site avec une adresse ip au lieu du nom de domaine. Disons par exemple nslookup
dit google.com
est 173.194.43.96
, donc j'ai essayé de parcourir https://173.194.43.96 et j'ai obtenu le certificat d'erreur disant que le certificat de sécurité présenté par ce site web a été émis pour une autre adresse de site web. Pourquoi donc?
OriginalL'auteur Steve | 2015-10-29
Vous devez vous connecter pour publier un commentaire.
C'est parce qu'un certificat SSL est délivré pour un nom de domaine particulier. Si le nom du certificat ne correspond pas à l'visité le domaine, le navigateur affiche un message d'erreur.
L'une des principales fonctions de SSL est de prouver à l'utilisateur qu'ils sont vraiment de la connexion au site qu'ils ont demandé, et non pas à un pirate se faisant passer pour le site. Sans le lier le nom de domaine pour le certificat ce ne serait pas possible.
Il est concevable que le certificat de navigateur ont été conçus de manière à inclure l'adresse IP dans le certificat, mais cela rendrait difficile l'utilisation de l'équilibrage de charge DNS ou même de changer de fournisseurs d'hébergement, comme un nouveau certificat devrait être délivré à chaque fois ce qui s'est passé. Si le certificat ne comprenait que l'adresse IP et pas le domaine, ce serait de quitter l'utilisateur sans défense contre l'usurpation DNS attaques. Donc, la seule façon d'avancer était vraiment à utiliser le seul domaine.
Comme une question d'intérêt, c'est possible d'obtenir un certificat SSL pour une adresse IP et que Google est leur propre autorité de certification, ils pourraient émettre eux-mêmes un certificat pour 173.194.43.96 et rendre ainsi possible de naviguer sur google en toute sécurité par adresse ip, aussi longtemps que ils ont utilisé SNI pour servir le bon certificat. Il semble peu plausible que ce serait en valeur la complexité supplémentaire cependant...
C'est une belle introduction à SSL si vous voulez en savoir plus:
https://timnash.co.uk/guessing-ssl-questions/
OriginalL'auteur jazmit
Sur MAC High Sierra et Python 3.6.4, j'ai essayé la solution: les demandes toolbelt:HostHeaderSSLAdapter 1er, malheureusement, il ne fonctionne pas pour moi, alors j'ai essayé
forcediphttpsadapter, a obtenu enfin il fonctionne.
L'auteur explique tout dans le fichier readme de la partie et a fourni un exemple de script, et il peut être suivi facilement.
1.Installer la bibliothèque par
pip install requests[security] forcediphttpsadapter
2.exécuter l'exemple de script:
Remarque: dans certains cas, vous pouvez avoir besoin de supprimer le préfixe " www " à partir de l'url.
OriginalL'auteur Xb74Dkjb
Ce qui se passe est que le certificat est émis à http://www.google.com et pas à son adresse IP. Par conséquent, votre navigateur n'est pas en mesure de vérifier le certificat, qui répertorie http://www.google.com comme entité.
Pour plus d'info, voir: http://www.digicert.com/ssl-support/certificate-name-mismatch-error.htm
OriginalL'auteur prakhar19
Le Nom Commun est généralement composée d'Hôte + Nom de Domaine et ressemble
www.yoursite.com
ouyoursite.com
. Certificats de Serveur SSL sont spécifiques pour le Nom Commun qu'ils ont été émis au niveau de l'Hôte. Le Nom Commun doit être la même que l'adresse Web, vous aurez accès lors de la connexion à un site sécurisé. Par exemple, un Certificat de Serveur SSL pour le domainedomain.com
recevrez un avertissement si l'accès à un site nomméwww.domain.com
ousecure.domain.com
, commewww.domain.com
etsecure.domain.com
sont différents dedomain.com
.OriginalL'auteur Prerak Sola