Supponiamo che un sito Web sia bilanciato in base al carico tra più server. Voglio eseguire un comando per verificare se funziona, ad esempio curl DOMAIN.TLD
. Quindi, per isolare ciascun indirizzo IP, specifico l'IP manualmente. Ma molti siti web possono essere ospitati sul server, quindi ho ancora fornire un'intestazione host, in questo modo: curl IP_ADDRESS -H 'Host: DOMAIN.TLD'
. A mio avviso, questi due comandi creano esattamente la stessa richiesta HTTP. L'unica differenza è che in quest'ultima estraggo la parte di ricerca DNS da cURL e lo faccio manualmente (per favore correggimi se sbaglio).
Tutto bene finora. Ma ora voglio fare lo stesso per un URL HTTPS. Ancora una volta, ho potuto testarlo in questo modo curl https://DOMAIN.TLD
. Ma voglio specificare manualmente l'IP, quindi corro curl https://IP_ADDRESS -H 'Host: DOMAIN.TLD'
. Ora ricevo un errore cURL:
curl: (51) SSL: certificate subject name 'DOMAIN.TLD' does not match target host name 'IP_ADDRESS'.
Ovviamente posso aggirare il problema dicendo a cURL di non preoccuparsi del certificato (l'opzione "-k") ma non è l'ideale.
Esiste un modo per isolare l'indirizzo IP a cui si è connessi dall'host certificato da SSL?
Host
, quindi --resolve
è il modo giusto per aggiungere un indirizzo IP.