Передача Трафика HTTP через другую машину в моей LAN

Решение, которое мы используем приблизительно с 12 разработчиками, следующее. Это работает очень хорошо и делает для гибкой установки, не будучи должен больше изменять конфигурацию сервера. Это, вероятно, не масштабируется к 40-50 devs должным к сетевой задержке и скорости серверного хранилища.

Мы совместно используем/var/www/дерево через Samba, таким образом, клиенты Windows могут использовать свой локальный IDE и клиенты VCS для редактирования на сервере ЛАМПЫ. Ни у кого нет учетной записи на сервере Linux.

Создайте свою структуру каталогов как это:

/var/www/mysite.com/www/derek/
/var/www/mysite.com/www/paul/
/var/www/mysite.com/www/mike/

В Вашем внутреннем DNS создайте подстановочную запись, которая указывает на **.dev* на Ваш IP-адрес сервера лампы. Я принимаю 123.45.67.89 здесь.

В Apache определите virtualhost, который выглядит подобным этому:


   ServerName lamp.dev
   ServerAlias *.dev
   VirtualDocumentRoot /var/www/%-3.0.%-2/%-4/%1/

Важные части являются подстановочным знаком ServerAlias, который заставляет этот vhost ответить на все входящие запросы, которые заканчиваются '.dev'. Другим важным является VirtualDocumentRoot, который выглядит сложным, но не так плох. Это просто сокращает входящее имя хоста в части и создает DocumentRoot из частей. Можно читать больше об этом здесь.

Теперь, любой разработчик может посетить http://derek.www.mysite.com.dev/ и просмотреть их персональную рабочую копию mysite.

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

Для развертывания на Рабочих серверах я рекомендовал бы Вам канаву scp и взгляд на Capistrano и превосходную централизованную сеть frontend Webistrano. Capistrano немного централен направляющими, но он только проводит несколько строк для адаптации к PHP, например. Webistrano обеспечивает центральный GUI, где можно развернуть или обновить сайт прямо от управления версиями при нажатии кнопки. Легко писание сценарий развертывания, которое может повторяться надежно и откатываться в случае проблем, не должно быть проигнорировано.

1
задан 27 February 2012 в 06:18
2 ответа

Почему бы вам не попробовать SSH-туннелирование, поскольку вы упомянули, что у вас есть доступ к другому компьютеру, имеющему надлежащий доступ к Интернету

Вариант 1:

ssh и прямое соединение (SOCKS5): Следующая строка запустит ssh-клиент и подключится к username @ remote _machine.com. Порт 8080 на локальном хосте (127.0.0.1) будет прослушивать запросы и отправлять их на удаленный компьютер. Затем удаленная машина отправит пакеты, как если бы они исходили от нее самого. Теперь все, что вам нужно сделать, это установить предпочтение в Firefox / chrome / вашем браузере для использования прокси-сервера SOCKS. Прокси-сервер, конечно, «localhost» с портом 8080.

ssh -C2qTnN -D 8080 username@remote_machine.com

Вариант 2:

прокси-сервер ssh на squid (HTTP / SSL-прокси): Следующая строка также запустит клиент ssh и подключится к имени пользователя @ удаленный_machine.com. Порт 8080 на локальном хосте (127.0.0.1) на текущем компьютере будет прослушивать запросы и туннелировать их по ssh на удаленный компьютер. На удаленной машине ssh будет перенаправлять пакеты на порт localhost 3128. Если squid прослушивает порт localhost 3128 на удаленной машине, тогда все запросы, отправленные через туннель ssh, будут перенаправлены на squid.

ssh -C2qTnN -L 8080:localhost:3128 username@remote_machine.com
1
ответ дан 4 December 2019 в 10:07

Don't route your web traffic through your buddy's PC. If you aren't supposed to go to Gmail, don't go there. If that's not the issue, have the network team allow access for your IP.

-1
ответ дан 4 December 2019 в 10:07

Теги

Похожие вопросы