Verwenden Sie cURL mit SNI (Server Name Indication)

Server Name Indication (SNI) ist eine Erweiterung des Transport Layer Security (TLS) Protokolls, die es einem Client ermöglicht, den Hostnamen, mit dem er sich verbinden möchte, am Anfang des Handshake-Prozesses anzugeben. Das ist nützlich, wenn ein Server mehrere Websites auf der gleichen IP-Adresse hostet, da es dem Server ermöglicht, das richtige SSL/TLS Zertifikat für den Hostnamen zu präsentieren, den der Client erreichen möchte.

cURL ist ein Kommandozeilenwerkzeug, mit dem verschiedene Arten von HTTP-Anfragen, einschließlich HTTPS-Anfragen, gestellt werden können. Standardmäßig verwendet cURL SNI bei HTTPS-Anfragen, so dass keine speziellen Optionen erforderlich sind, um es zu aktivieren.

Hier ist ein Beispiel dafür, wie cURL verwendet wird, um eine HTTPS-Anfrage an eine Website zu senden, die SNI verwendet:

curl https://example.com

Sie können auch die Option -v verwenden, um detailliertere Informationen zu der Anfrage zu erhalten, die die SNI-Erweiterung im SSL / TLS-Handshake anzeigt:

curl -v https://example.com

Sie können auch die Option --resolve verwenden, um den SNI-Hostnamen bei der Anfrage explizit festzulegen:

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

Dies teilt cURL mit, die IP-Adresse 192.0.2.1 für den Hostnamen example.com bei der Anfrage zu verwenden und den Hostnamen example.com in der SNI-Erweiterung zu verwenden.