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 --resolve
Option 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.
Antworten:
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
--resolve
funktioniert der Header wie erwartet mit https und einem nicht standardmäßigen Port an beiden Stellen angegeben.quelle
Wenn dies
--resolve
nicht funktioniert, können Sie den Host-Header angeben (möglicherweise müssen Sie Zertifikatswarnungen mit unterdrücken-k
):oder mit ausführlicheren Begriffen:
quelle