Ситуация:
У сервера 1 белый IP. У сервера 2 серый IP. Сервер 1 - это бесплатный хостинг, по этому он ограничен: в php запрещено много нужных функций, в mysql можно иметь максимум две таблицы по 4 KB. Сервер 2 не ограничен, но находится за NAT'ом провайдера.
Решение - использовать такую технологию:
1. Пользователь отправляет запрос на хостинг (сервер 1) и ожидает ответа.
2. Хостинг (сервер 1) записывает запрос пользователя в таблицу и начинает постоянно её обновлять, ожидая ответа сервера 2.
3. Сервер 2 постоянно обновляет таблицу запросов и когда появляются новые запросы, записывает свой ответ в эту таблицу (если нет новых запросов, сервер 2 получает ошибку 304 Not Modified).
4. Хостинг (сервер 1) обнаруживает ответ в таблице и отправляет ответ пользователю.
Проблема:
Будет лучше, если хостинг (сервер 1) будет отправлять запрос серверу 2 напрямую, а не записывать его в таблицу, чтобы сервер 2 потом прочел. Но как это организовать средствами бесплатного хостинга - php, mysql и htaccess, если у сервера 2 серый IP?
Технология разрабается для хранения результатов индексирования поисковой машины на сервере с серым IP, а доступом к ней через хеш хостинга, так как у хостинга высокая скорость соединения с клиентом, а на сервер не хочется покупать белый ip, так как планируется частое перемещение сервера и каждый раз покупать будет неудобно, так-же планирую иметь не один сервер, а чем с портами возиться, каждый сервер на свой порт вешать, лучше будет написать на php небольшой туннель. Использовать программы для туннелирования не хочется, так как сервера могут быть с разными ОС и вообще это возня. Да и к тому же я пишу фреймворк и его пользователям очень понравится новая функция - это будет одна из его фишек (фреймворк не должен требовать никаких расширений, программ, плагинов и т.д., кроме обработчика php и любого http сервера - это другая из его фишек, да и на нем сверху стоит CMS для создания шаблонов и подключения виджетов и панель управления, благодаря которой не стоит париться с настройкой, сборкой, установкой, отладкой и т.д. приложений - это третья фишка).
Все вопросы по теме:
Как с помощью PHP на хостинге с «белым» IP сделать http туннель для подключения к серверу с «серым» IP, который за NAT'ом?
Как любыми способами получить http доступ к серверу с серым IP из интернета?
Есть технология кластеризации. Как её оптимизировать?
Как создать постоянное подключение для туннелирования с помощью php?
Не помешают ли мне тайм-ауты NAS при туннелировании?
Может ли php получать и сразу же обрабатывать часть запроса, не дожидаясь окончания получения запроса?
Может ли php отправлять информацию частями?Самое свежее обсуждение.