Wie wird der SSL-Port mit Befehlszeilen-Curl angegeben?

8

Ich versuche, die SSL-Verbindung auf einem meiner Server zu testen. Der Server befindet sich hinter einer LB und wartet auf SSL-Verbindungen am Port 8090.

Ich habe die --resolveOption zum Testen verwendet, wenn ich mit der LB spreche, die Port 443 abhört.

curl --resolve 'myservice.com:443:1.1.1.1' 'https://myservice.com'

Aber wenn ich es mache:

curl --resolve 'myservice.com:8090:2.2.2.2' 'https://myservice.com:8090'

curl ignoriert einfach den Port und geht mit 443. Dies führt natürlich dazu, dass der DNS-Cache fehlt und ich am Ende die öffentliche DNS-IP verwende ...

* 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)

Wie kann ich Curl zwingen, den Port 8090 für eine SSL-Verbindung zu verwenden?

Vielen Dank.

Nicolas GUILLAUME
quelle
1
Seltsam ... funktioniert wie erwartet für mich in 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
Michael - sqlbot
Interessant, dass ich meine Locke aktualisieren werde. Es sieht so aus, als hätte ich die 7.29DEV-Version das letzte Mal installiert (das könnte das Problem sein). Danke fürs Testen.
Nicolas GUILLAUME
Okay, das Problem ist behoben, es kam tatsächlich von einem Tool, mit dem ich die Curl-Anforderung erstellt habe, bei der der Header gelöscht wurde ... Vielen Dank für Ihre Zeit. Bitte
poste
Danke, es schien keine große Antwort zu sein, aber zumindest haben Sie an verschiedenen Orten nach Ihrem Problem gesucht.
Michael - sqlbot

Antworten:

1

Getestet mit 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 --resolvefunktioniert der Header wie erwartet mit https und einem nicht standardmäßigen Port an beiden Stellen angegeben.

Michael - sqlbot
quelle
3

Wenn dies --resolvenicht funktioniert, können Sie den Host-Header angeben (möglicherweise müssen Sie Zertifikatswarnungen mit unterdrücken -k):

curl -k -H 'Host: myservice.com' 'https://2.2.2.2:8090'

oder mit ausführlicheren Begriffen:

curl --insecure --header 'Host: myservice.com' 'https://2.2.2.2:8090'
Mathias R. Jessen
quelle