Я изучал SSH туннелирование и не испытывал то, что хотел.

Во-первых, я попытался с моей локальной машиной с локальной переадресацией портов, которая работала нормально.

1) ssh -L 8080:localhost:8081 localhost
2) nc -l 8081

3) echo "Super User" | nc localhost 8080

Теперь трафик 8080 перенаправляется на 8081, в результате строка "SuperUser" выводится из команды « nc -l 8081 ».

Справедливо.

Теперь я попытался переслать на веб-сервер.

ssh -L 8080:www.techgig.com:80 localhost

Это сработало хорошо. Но когда я пытался

ssh -L 8080:www.medium.com:80 localhost

Я получил ниже ошибку:

Error 1003 Direct IP access not allowed

Вопрос:

Итак, мой вопрос заключается в том, что является фактором, который влияет на несколько сайтов, которые работают, и немногие из них не работают. В конце концов, это просто передача данных, верно? Пожалуйста, уточните

1 ответ1

0

Да, это просто пересылка данных. Проблема в том, что вы даете ему другие данные для пересылки по сравнению с тем, когда вы подключаетесь напрямую.

Посмотрите на любой HTTP-запрос в Wireshark. Вы увидите, что практически все они имеют заголовок Host: указывающий, какое доменное имя они хотят достичь. Это необходимо, потому что соединения TCP/IP не передают автоматически имя хоста, которое используется - веб-сервер Medium не знает, что вы использовали www.medium.com для его достижения, если только HTTP-запрос не сообщит об этом.

Поэтому, когда вы заходите на сайт http://www.medium.com в браузере, он отправляет HTTP-запрос с Host: www.medium.com , потому что это то, что вы ввели.

Но когда вы настраиваете пересылку и пытаетесь получить доступ к http://localhost:8080 , браузер также отправляет Host: localhost потому что это то, что вы ввели. Веб-сервер не имеет представления о вашей пересылке - все, что он знает, это ваш IP-адрес и заголовки HTTP - поэтому он правильно жалуется, что в его конфигурации нет такого домена.


Что касается предложения http_proxy: если вы создадите переадресацию на веб-сервере и попытаетесь использовать ее в качестве HTTP-прокси, она позволит вам получать доступ только к сайтам на этом веб-сервере.

Хотя технически это может работать, почти все веб-серверы отказывают в проксировании по соображениям безопасности . (Представьте, если бы это было разрешено - не только веб-сервер позволил бы вам войти в частную сеть центра обработки данных, вы также можете рассылать спам по всему миру и делать вид, что веб-сервер это сделал.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .