サーバーの1つでSSL接続をテストしようとしています。サーバーはLBの背後にあるため、ポート8090でSSL接続を待機しています。
--resolve
ポート443でリッスンするLBと通信するときにテストするオプション。
curl --resolve 'myservice.com:443:1.1.1.1' 'https://myservice.com'
しかし私がするとき:
curl --resolve 'myservice.com:8090:2.2.2.2' 'https://myservice.com:8090'
curlは単にポートを無視して443を使用します。もちろん、これによりDNSキャッシュが失われ、最終的にパブリックDNS IPを使用してしまいます...
* 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)
curlがSSL接続にポート8090を使用するように強制するにはどうすればよいですか?
ありがとう。
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
ヘッダーは、httpsおよび両方の場所で指定された非標準ポートで期待どおりに機能します。
--resolve
が機能しない場合は、Hostヘッダーを指定できます(-k
で証明書の警告を抑制する必要がある場合があります):
curl -k -H 'Host: myservice.com' 'https://2.2.2.2:8090'
またはより詳細な用語:
curl --insecure --header 'Host: myservice.com' 'https://2.2.2.2:8090'