J'essaie de tester la connexion SSL sur l'un de mes serveurs. Le serveur est derrière un LB, il écoute donc les connexions SSL sur le port 8090.
J'ai utilisé l' --resolve
option pour tester lorsque je parle au 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 le cache DNS à manquer et je finis par utiliser l'IP DNS public ...
* 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 curl à utiliser le port 8090 pour une connexion SSL?
Merci.
Réponses:
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 librtmp / 2.3, l'en-
--resolve
tête fonctionne comme prévu avec https et un port non standard spécifié aux deux endroits.la source
Si
--resolve
ne fonctionne pas, vous pouvez spécifier l'en-tête Host (vous devrez peut-être supprimer les avertissements de certificat avec-k
):ou avec des termes plus verbeux:
la source