J'essaie de tester la connexion SSL sur l'un de mes serveurs. Le serveur est derrière un LB afin qu'il soit écoutant pour les connexions SSL sur le port 8090.
J'ai utilisé le --resolve
Option de test lorsque vous parlez à la LB qui écoute sur le port 443.
curl --resolve 'myservice.com:443:1.1.1.1' 'https://myservice.com'
mais quand je fais:
curl --resolve 'myservice.com:8090:2.2.2.2' 'https://myservice.com:8090'
curl ignore simplement le port et va avec 443. Bien sûr, cela provoque la manquant du cache DNS et je me retrouve à l'aide de la norme DNS publique ...
* Added myservice.com:8090:2.2.2.2 to DNS cache
* About to connect() to myservice.com port 443 (#0)
* Trying 3.3.3.3...
* Connected to myservice.com (3.3.3.3) port 443 (#0)
Comment puis-je forcer la boucle d'utiliser le port 8090 pour une connexion SSL?
Merci.
Testé avec CURL 7.22.0 (x86_64-PC-Linux-GNU) libcurl/7.22.0 OpenSSL/1.0.1 ZLIB/1.2.3.4 LIBIDN/1.23 LIBRETMP/2.3, le --resolve
L'en-tête fonctionne comme prévu avec HTTPS et un port non standard spécifié dans les deux endroits.
Si --resolve
ne fonctionne pas, vous pouvez spécifier l'en-tête d'hôte (vous pourriez avoir besoin d'avertissements de certificat Su Supprand avec -k
):
curl -k -H 'Host: myservice.com' 'https://2.2.2.2:8090'
ou avec plus de termes verbeux:
curl --insecure --header 'Host: myservice.com' 'https://2.2.2.2:8090'