Можно ли выставить HTTP прокси на localhost через ngrok?

Я имею tinyproxy установлен на localhost (я тоже пробовал squid и не удалось аналогично). Он работает на порту 8888. Это работает:

curl -x localhost:8888 http://www.google.com

И я вижу вывод в журналах tinyproxy.

Сейчас я запускаю последнюю версию ngrok и установите следующую переадресацию:

http://<identifier>.ngrok.io -> localhost:8888

Если я открою http://<identifier>.ngrok.io в моем браузере счетчик подключений ngrok увеличивается, и я успешно вижу страницу ошибки "не реализовано" tinyproxy.

Тем не менее, это не удается:

curl -x <identifier>.ngrok.io:80 http://www.google.com
# => curl: (56) Received HTTP code 404 from proxy after CONNECT

Счетчик ngrok не работает, и я не вижу сообщений в журналах tinyproxy, указывающих на то, что сбой произошел до того, как ngrok принял соединение.

Что мне здесь не хватает? Я предполагал, что и ngrok, и tinyproxy пересылают HTTP-запрос, но кажется, что может быть другой протокол, работающий за кулисами curl -x, Есть ли способ успешно установить цепочку прокси, начиная с ngrok и проходя через мой локальный хост?

1 ответ

Ваша настройка точна. Все, что вам нужно сделать, это запустить следующую команду tcp вместо команды http:

      ngrok tcp 8888

Он создаст TCP-туннель и напечатает что-то вроде этого:

      tcp://something.ngrok.io:18673 -> localhost:8888

Затем вы можете использовать его следующим образом.

      curl -x something.ngrok.io:18673 http://www.google.com

Другие вопросы по тегам