7 ポイント 投稿者 minhoryang 2020-12-02 | 1件のコメント | WhatsAppで共有

HTTP/1.1 以降では、Host ヘッダーで接続先サーバーのドメインを指定できます。

これを使うと、curl --header "Host: www.example.com"; http://127.0.0.1 のように http サーバーの virtualhost をテストできます。

では、https が登場するとどうなるでしょうか?(SNI フィールドや証明書を正しく確認するには?)

curl --resolve example.com:443:127.0.0.1 https://example.com/

curl --connect-to example.com:443:host-47.example.com:443 https://example.com/

この 3 つの方法についての説明は本文を参照し、適切に組み合わせて使えばよいです。

1件のコメント

 
encyphered 2020-12-03

いいヒントですね。ありがとうございます。私は主に --resolve オプションで $(dig +short FQDN|head -n 1) を使っていましたが、--connect-to は気づいていませんでした。