CURLOPT_CONNECT_TO меняет хост и порт, к которым libcurl подключается для соответствующего назначения. Он не заставляет альтернативную конечную точку говорить HTTP CONNECT или SOCKS.

Исходное имя хоста по-прежнему задаёт идентичность протокола приложения и TLS. Это полезно, когда намеренно достигается другой экземпляр сервера той же службы. Произвольный слушатель прокси, напротив, ожидает собственного прокси-рукопожатия, а не необработанных байтов приложения.

Сочетание сопоставления с HTTP-прокси

Настройте HTTP-прокси отдельно. HTTP-маршрут без учётных данных к публичной службе может использовать конечную точку из списка HTTP-прокси, когда такой посредник разрешён; существующую учётную запись прокси не следует отправлять кандидату. libcurl документирует, что иное сопоставление connect-to может затем перевести запрос в режим туннеля: прокси открывает соединение с сопоставленным назначением. Сопоставление выбирает, чего достигают через прокси; оно не заменило конфигурацию прокси.

Держите три значения раздельно: предполагаемое имя службы, альтернативную конечную точку соединения и конечную точку прокси. Выбирайте каждый параметр по его реальной роли и сохраняйте обычную проверку имени TLS для службы.

Если сам порт прокси отвергает соединения, другой параметр, указывающий на тот же отсутствующий слушатель, не исправит первый шаг. Устраните эту неисправность слушателя или пути, прежде чем менять сопоставление назначения.

Похожие статьи