@ShidlovskyDmitry

Как создать http туннель?

Добрый день. Требуется создать туннель для http запросов через локальный прокси сервер. Когда приходит метод Get через http, то проблем нету, но когда идет https то идет метод Connect, вот пример запроса браузера к моему Proxy серверу

CONNECT google.ru:443 HTTP/1.0
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
Host: google.ru
Content-Length: 0
DNT: 1
Proxy-Connection: Keep-Alive
Pragma: no-cache

Если я отправляю данный запрос на гугл, то мне приходит ответ в 0 байт.

Подскажите, что требуется сделать, чтобы приходил обмен данными?
  • Вопрос задан
  • 2724 просмотра
Пригласить эксперта
Ответы на вопрос 1
IlyaEvseev
@IlyaEvseev
Opensource geek
Прокси самописный?
Если да, то смотрите, как это делает Squid:
wiki.squid-cache.org/Features/HTTPS#CONNECT_tunnel

1) установить с сервером TCP-соединение, но ничего в него не отправлять
2) в случае успеха отправить клиенту HTTP Response 200
3) после этого весь трафик от клиента отсылать серверу, от сервера клиенту, не заглядывая в содержимое (оно зашифровано), пока клиент или сервер не разорвут соединение.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы