web-dev-qa-db-fra.com

Erreur de certificat SSL lors de la demande de courroie à l'adresse IP

J'essaie d'envoyer une demande de courbure à un serveur avec une adresse IP x.x.x.x. Il fait partie d'un système de surveillance de la santé. Sur le serveur, j'ai configuré des hôtes virtuels pour sous-domaines.Example.com sur le port 80 et 443. Pour le certificat SSL, j'utilise un certificat Wildcard * .Example.com que j'utilise sur ce serveur, ainsi que de nombreux autres serveurs.

Quand j'essaie de courburer à http://x.x.x.x il obtient la réponse de manière appropriée. Mais quand je me borde à https://x.x.x.x Cela donne l'erreur de certificat suivante:

curl: (51) SSL: Nom du sujet du certificat '* .example.com' ne correspond pas au nom d'hôte cible 'x.x.x.x'

Je sais que c'est parce que le certificat est spécifique au nom de domaine et j'essaie d'envoyer une demande à l'aide de l'adresse IP. Mais comme je l'ai dit, c'est une limitation que j'ai (surveillance de la santé de l'équilibreur de la charge de racks).

Y at-il un travail autour??

4
Ankit Khedekar

Je vais faire une nouvelle réponse, car cela va dans une direction très différente. En fait, cela ne répond pas à la question posée, mais c'est peut-être la direction que l'OP devrait être à la recherche.

La configuration habituelle lors de l'utilisation d'une balanceur de charge est que le certificat SSL ne vit pas du tout sur le serveur Web, mais plutôt que le SSL est remis à l'équilibreur de charge.

L'utilisateur final fait une demande HTTPS à l'équilibreur de charge. L'équilibreur de charge déballe la SSL et transmet la demande via http non chiffré sur le serveur Web, avec un en-tête qui indique au serveur Web que la demande d'origine a été cryptée. (Important pour l'intégration des URL dans la réponse et pour éviter de servir de contenu sécurisé sur http).

4
mc0e

Vous pouvez utiliser le nom de domaine comme d'habitude, mais remplacer le résolveur comme suit:

curl -v --resolve subdomain.example.com:443:x.x.x.x https://subdomain.example.com/

Cela pourrait être gênant de maintenir beaucoup de tels mappages cependant. Vous préférez peut-être simplement ignorer le décalage de certificat:

curl --insecure https://subdomain.example.com/

Si vous voulez, vous pouvez utiliser --insecure --verbose et analyser les messages pour vérifier que le certificat est pour le domaine attendu, mais c'est probablement plus de travail que d'utiliser --resolve

10
mc0e