Załóżmy, że witryna jest zrównoważona pod względem obciążenia między kilkoma serwerami. Chcę uruchomić polecenie, aby sprawdzić, czy działa, np curl DOMAIN.TLD. Tak więc, aby wyizolować każdy adres IP, określam adres IP ręcznie. Ale wiele stron internetowych, mogą być przechowywane na serwerze, więc nadal stanowią nagłówek hosta, na przykład: curl IP_ADDRESS -H 'Host: DOMAIN.TLD'. W moim rozumieniu te dwa polecenia tworzą dokładnie to samo żądanie HTTP. Jedyną różnicą jest to, że w tym drugim wyjmuję część wyszukiwania DNS z cURL i robię to ręcznie (popraw mnie, jeśli się mylę).
Jak dotąd dobrze. Ale teraz chcę zrobić to samo dla adresu URL HTTPS. Znów mogłem to przetestować w ten sposób curl https://DOMAIN.TLD. Ale chcę ręcznie podać adres IP, więc uruchamiam curl https://IP_ADDRESS -H 'Host: DOMAIN.TLD'. Teraz pojawia się błąd cURL:
curl: (51) SSL: certificate subject name 'DOMAIN.TLD' does not match target host name 'IP_ADDRESS'.
Mogę oczywiście obejść ten problem, mówiąc cURL, aby nie przejmował się certyfikatem (opcja „-k”), ale nie jest to idealne rozwiązanie.
Czy istnieje sposób odizolowania podłączonego adresu IP od hosta certyfikowanego przez SSL?
Hostnagłówka, więc --resolvejest to właściwy sposób na przypięcie adresu IP.