![Как перенаправить определенный URL-адрес через прокси-сервер для нескольких сервисов?](https://rvso.com/image/1336301/%D0%9A%D0%B0%D0%BA%20%D0%BF%D0%B5%D1%80%D0%B5%D0%BD%D0%B0%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D1%82%D1%8C%20%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9%20URL-%D0%B0%D0%B4%D1%80%D0%B5%D1%81%20%D1%87%D0%B5%D1%80%D0%B5%D0%B7%20%D0%BF%D1%80%D0%BE%D0%BA%D1%81%D0%B8-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%20%D0%B4%D0%BB%D1%8F%20%D0%BD%D0%B5%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%B8%D1%85%20%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%BE%D0%B2%3F.png)
У меня есть сайт, размещенный на 000webhost.com бесплатно. Я не могу напрямую подключиться к сайту, потому что Comcast заблокировал часть серверов 000webhost для бесплатных аккаунтов из-за других людей, размещающих вредоносный контент.
Для поддержания моего веб-сайта я не могу использовать свой компьютер для прямого подключения к серверу. Мне интересно, есть ли способ, с помощью которого я могу специально перенаправлять попытки доступа к серверу через прокси, прозрачно.
Текущая система, на которой я работаю, это Windows, но у меня также есть системы, работающие под управлением Mac OSX и Linux, поэтому решения для любой системы могут быть хороши. Я нашел ответы, которые работают для http, но я ищу решение, которое позволит мне использовать и все другие функции, такие как ftp и ssh.
решение1
Если у вас есть SSH-сервер, к которому вы можете подключиться, вам нужно выполнить два шага.
Первое, что вам нужно будет сделать, это настроить беспарольную (открытый ключ) аутентификацию на вашем ssh-сервере. Это описано вКак настроить SSH, чтобы не пришлось вводить пароль?
Я предполагаю, что server1 — это ваш ssh-сервер, а server2 — ваш заблокированный сервер.
Теперь, чтобы подключиться по ssh к первому серверу и автоматически подключиться по ssh ко второму серверу, вы можете сделать следующее:
ssh me@server1 'ssh me@server2'
Поскольку вы настроили вход без пароля на server1, сеанс ssh будет установлен, и он выполнит команду ssh на второй сервер. С вашей точки зрения, вам просто будет предложено ввести пароль для входа на server2
Для прокси-подключений через SSH-сервер можно использовать
ssh -D8080 me@server1
Это настроит прокси-сервер Socks на локальном порту 8080. Любые запросы на этот порт будут пересылаться через туннель, а фактическое веб-соединение будет осуществляться с сервера server1.
Чтобы использовать это в вашем браузере, вам нужно указать, какие URL-адреса вы хотите пересылать через прокси-сервер. В Firefox есть расширение FoxyProxy, которое позволит вам определить конкретные URL-адреса или шаблоны, которые должны пересылаться на определенный прокси-сервер. Адрес прокси-сервера socks — это адрес, который появляется, 127.0.0.1:8080
когда сеанс ssh уже запущен.
При использовании FTP-клиентов вы обычно можете указать SOCKS-прокси для каждого соединения, и это также будет указывать на 127.0.0.1:8080
.
Вы можете объединить два вышеперечисленных варианта следующим образом:
ssh -D8080 me@server1 'ssh me@server2'