Скажімо, веб-сайт збалансований між кількома серверами. Я хочу запустити команду, щоб перевірити, чи працює вона, наприклад curl DOMAIN.TLD
. Отже, щоб виділити кожну IP-адресу, я вказую IP вручну. Але багато веб - сайти можуть бути розміщені на сервері, так що я по- , як і раніше забезпечує заголовок вузла, наприклад: curl IP_ADDRESS -H 'Host: DOMAIN.TLD'
. Наскільки я розумію, ці дві команди створюють той самий запит HTTP. Єдина відмінність полягає в тому, що в останній я виймаю частину пошуку DNS з CURL і роблю це вручну (будь ласка, виправте мене, якщо я помиляюся).
Все добре поки що. Але тепер я хочу зробити те ж саме для URL-адреси HTTPS. Знову я можу перевірити це так curl https://DOMAIN.TLD
. Але я хочу вказати IP вручну, тому запускаю curl https://IP_ADDRESS -H 'Host: DOMAIN.TLD'
. Тепер я отримую помилку CURL:
curl: (51) SSL: certificate subject name 'DOMAIN.TLD' does not match target host name 'IP_ADDRESS'.
Звичайно, я можу обійти це, сказавши CURL, щоб не піклувався про сертифікат (опція "-k"), але це не ідеально.
Чи існує спосіб ізоляції підключеної IP-адреси від хоста, який сертифікований SSL?
Host
заголовка, тому --resolve
це правильний спосіб закріпити IP-адресу.