(первый вопрос по обмену стеками, не стесняйтесь комментировать / критиковать)
У меня есть сервер Debian с
К вашему сведению, цель FMS - это, помимо прочего, потоковое видео. Он использует протокол RTMP.
Насколько я понимаю:
Когда запросы FMS блокируются в 1935 году, происходит откат на 80. Протокол изменяется и становится HDS, который является RTMP поверх HTTP (медленнее, но работает).
FMS требуется 80 портов, чтобы сделать это резервное копирование.
Apache, наоборот, доставляет файлы html, css, ... и swf, которые представляют собой флэш-файлы, используемые на клиенте для подключения к серверу.
Со стороны клиента вы получаете доступ к этим файлам через порт 80. Затем FMS передает Apache HTTP-запросы, которые он не может обработать.
Таким образом, Apache не нужно настраивать на порт 80, что позволяет избежать конфликта портов на 80.
Пока все работает отлично.
Но недавно мне пришлось добавить в FMS функциональность SQL. И FMS не имеет встроенного SQL-соединения. Он едва может выполнять HTTP-запросы. Таким образом, вам придется обрабатывать SQL на другой серверной технологии. Поскольку Apache уже есть дома, на ум приходит PHP / MySQL.
Итак, я установил PHP и MySQL и создал сценарий шлюза .php, который действует как очень простой уровень доступа к данным.
Это работает, FMS может запрашивать данные JSON, сделанные из PHP / MySQL с помощью json_encode, и, поскольку язык FMS - это ActionScript, я прочитал Javascript, я сделал (new Function ("return" + src)) () и вуаля, у меня был объект js прямо из базы данных.
Очень просто и позволяет избежать создания сервера J2EE или возврата Zend Framework для работы с AMF.
шлюз .php доступен для всех, а это значит, что любой может придумать URL-адрес .php с правильными аргументами GET и читать из базы данных или связываться с ним.
Я хочу, чтобы со шлюзом могла разговаривать только ФМС. Но мне нужно, чтобы клиенты по-прежнему могли запрашивать любой другой файл (html, css, swf ...).
Используйте правило .htaccess, вроде этого:
<Files ~ "\yourscript.php$">
Order allow,deny
Allow from your.fms.ip.address
Deny from all
</Files>
Очевидно, вам нужно будет внести изменения, чтобы применить их к вашему приложению, но это самый простой способ.
Я закончил добавлять какие-то базовые аутентификация для скрипта шлюза.
Я решил назвать сценарий с
http://localhost/script.php?login=user&password=xyz&action=todo¶m=something&...
Каждый может получить доступ к этому сценарию, если он знает учетные данные, но теперь пароль установлен, и вы должны его знать. Таким образом, поиск этого URL немного усложняется. Поскольку этот запрос выполняется с локального хоста на локальный хост на сервере, я думаю, что теперь безопасность в хорошем состоянии, и никто не может «прослушивать пакеты», чтобы найти его. Может, это не идеально. Комментарии приветствуются.