У меня есть веб-сервер (назовем его C1), на котором работает сервер Apache/PHP, и он перенаправлен через порт, так что я могу получить к нему доступ в любом месте. Однако в локальной сети веб-сервера есть еще один компьютер, на котором также установлен сервер Apache (назовем его C2). Я не могу изменить переадресацию портов и сервер Apache (иначе установить пользовательские модули).

Есть ли способ получить доступ к C2 в каталоге C1? (Например, переход на сайт www.website.org/random_dir позволит мне просмотреть корень сервера C2 apache.)

Я пытаюсь изменить как можно меньше конфигурации / другого (например, активируя модули и т.д.)

Есть ли возможное решение?

3 ответа3

1

Вы можете разместить скрипт на С1, который направляет ваши запросы на С2 и представляет его ответы. Это может быть достигнуто с помощью веб-прокси.

Попробуйте установить KnProxy или php-proxy в качестве первого шага и посмотрите, подходит ли вам один из них.

Используя прокси, не забудьте вызвать C2 по его внутреннему ip (который виден для C1).

0

Вы можете поместить скрипт в папку в C1, которая использует curl для получения информации из C2. Называя его index.php, когда вы посещаете www.website.org/random_dir, вы получаете свое поведение.

Однако, чтобы получить доступ к другим файлам или папкам, вы должны передать их в виде переменных, например: www.website.org/random_dir?папка = another_folder/ вложенная папка и файл = my_file

Будет ли это решение соответствовать вашим потребностям?

0

Обратное проксирование - это то, что вы пытаетесь сделать. Apache поддерживает это.

Обратное проксирование - это когда веб-сервер перенаправляет HTTP-запрос или URL-адрес на второй веб-сервер (возможно, изменяя его по пути), собирает ответ этого второго веб-сервера и доставляет результат (возможно, изменяя результат на обратном пути).

Это хорошее место для начала. Я обновлю этот ответ несколькими примерами, когда / если у меня будет время.

Я предупрежу вас об этом: обратное проксирование отлично работает для статического контента и контента, где URL страницы не "жестко закодирован" ни в каких ссылках динамического или сгенерированного Javascript контента. Если у вас есть веб-приложение или приложение с собственным встроенным веб-сервером (например, удаленный доступ Subsonic или uTorrent), иногда вы можете оказаться в ситуации, когда ссылки, которые генерирует веб-приложение, указывают на другое местоположение, отличное от того, которым вы являетесь обратное проксирование к. Это где модули перезаписи вступают в игру, и это может стать грязным. Не все веб-приложения могут быть успешно проксированы.

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