HTTP-проксі та HTTPS-проксі: що означає позначка
Відмінність між HTTP-проксі, який створює тунель до HTTPS-сайту, та HTTPS-проксі, який шифрує з’єднання із самим проксі.
Використовуйте схему, зазначену в документації для порту прослуховування проксі. Обираючи кандидатів зі списку HTTP-проксі, перевірте цю схему до налаштування клієнта. Для HTTPS-сайту можна використовувати http://proxy.example:8080; зміна цього значення на https:// означає інший спосіб підключення до проксі.
| URL проксі | URL сайту | З’єднання |
|---|---|---|
http://proxy.example:8080 | http://example.com/ | Незашифрований HTTP до проксі та до цільового сервера. |
http://proxy.example:8080 | https://example.com/ | HTTP CONNECT до проксі, а потім TLS із цільовим сервером через тунель. |
https://proxy.example:8443 | https://example.com/ | TLS до проксі; тунель до цільового сервера передається всередині цього з’єднання. |
Для звичайного HTTP-порту проксі, який дозволяє CONNECT, така конфігурація узгоджена:
curl --proxy http://127.0.0.1:8080 https://example.com/TLS-рукостискання із сайтом відбувається після того, як проксі прийме тунель. Якщо змінити URL проксі на https://, хоча порт розуміє лише незашифрований HTTP, узгодження TLS із проксі може завершитися помилкою ще до звернення до сайту.
Що додає TLS на ділянці до проксі
Проксі з підтримкою TLS захищає з’єднання між клієнтом і проксі, зокрема обмін CONNECT та автентифікацію на проксі, від пасивного прослуховування на цій ділянці. Оператор проксі й надалі обробляє з’єднання та знає адресу призначення тунелю. Цей режим мають підтримувати і клієнт, і порт прослуховування:
curl --proxy https://proxy.example:8443 https://example.com/Використовуйте справжнє ім’я хоста сервісу: сертифікат має відповідати йому та бути довіреним. Обмеження адрес призначення й портів залишаються чинними.
Коли з обох боків використовується HTTPS, виконуються дві перевірки сертифікатів. curl дозволяє налаштувати їх окремо:
curl --proxy https://proxy.example:8443 --proxy-cacert proxy-ca.pem --cacert origin-ca.pem https://example.com/--proxy-cacert задає довіру для проксі, а --cacert — для цільового сервера. За потреби використовуйте набори сертифікатів від адміністратора; системного сховища довіри вже може бути достатньо. Перш ніж змінювати будь-яке з налаштувань, з’ясуйте, яке рукостискання не вдалося.
Позначка «HTTPS» у списку проксі може означати лише те, що кінцева точка пройшла тест CONNECT. Якщо список не пояснює свій тест, сама позначка не вказує, чи очікує порт прослуховування http://, чи https://.