Я должен провести семинар в огненной среде, которая мешает мне показать все, что я хотел бы, и я ищу обходной путь.
Я буду демонстрировать программное обеспечение, которое работает на Windows. Ожидается, что во время семинара участники подключатся к этому программному обеспечению со своих телефонов с помощью браузера.
Windows Phone
+-------------------+ +------------------+
| | | |
| Demo software | | |
| | | |
| | | |
| :8080 | <--------+ Browser |
| | | |
| | | |
+-------------------+ +------------------+
Проблема в том, что все машины мастерской защищены огнем, и невозможно (из-за жесткости организации, где я работаю в мастерской) открыть отверстие в брандмауэре.
Поэтому я думал запустить какой-нибудь прокси (к счастью, это разрешено) на каждой машине мастерской. Этот прокси-сервер будет подключаться к какому-то внешнему серверу, регистрироваться с каким-то автоматически сгенерированным идентификатором и начинать ждать данных.
Затем телефон подключится к http://server.xxx/proxyid
и сервер направит свой запрос соответствующему прокси-серверу на основе идентификатора прокси-сервера (через уже установленное соединение, чтобы данные могли проходить через брандмауэр). Затем прокси связывается с веб-сервером в демо-версии программного обеспечения, получает ответ и передает его обратно на сервер, который пересылает ответ на телефон.
Firewall
+
|
Windows |
+---------------------+ |
| | |
| +-------------+ | | server.xxx
| | Demo SW | | | +------------------------+
| | | | | | |
| | :8080 | | | | |
| +--------+----+ | | | |
| ^ | | | |
| | | | | |
| +--------+----+ | | | |
| | Proxy | | | | |
| | +------------> |:80 |
| | ID | | | | |
| +-------------+ | | +------------------------+
| | | ^
+---------------------+ | |
| |
| |
+ |
Phone |
+-----------------------------------+
| Browser | |
| +--------------+----------------+ |
| | http:://server.xxx/ID | |
| | | |
| +-------------------------------+ |
+-----------------------------------+
Существуют ли какие-либо строительные блоки, которые позволили бы мне соединить этот обходной путь, чтобы мне не пришлось его программировать? Желательно, чтобы серверная часть тоже работала в Windows (какой-то тип Linux тоже подойдет).