У нас есть сервер IBM (внутренний IP: 192.168.1.128), подключенный к Интернету через маршрутизатор (192.168.1.1). Я перенаправил следующий порт: Порт 80: внутренний IP 192.168.1.128 для входящих HTTP-соединений. HTTP-запросы обрабатываются xampp. Например: - Люди используют 122.168.xxx.53 / moodle для доступа к moodle. (Moodle - это онлайн-платформа для обучения, а 122.168.xxx.53 - это общедоступный IP-адрес).
BigBlueButton - это программа для виртуальных занятий в Интернете.
Наш сервер bigbluebutton работает на виртуальной машине, имеющей мостовое сетевое соединение с хост-сервером IBM. Это означает, что виртуальная машина ведет себя как физическая машина, подключенная к нашему серверу. Я назначил виртуальной машине IP-адрес (192.168.1.127), поэтому в локальной сети, если я наберу его в браузере 192.168.1.127/bigbluebutton, мне будет представлена страница демонстрации bbb.
Проблема: я уже перенаправил порт 80 на внутренний IP 192.168.1.128, чтобы другие могли получить доступ к moodle. 192.168.1.127 также запускает bbb на 80-м порту. Мы не можем перенаправить один и тот же порт 80 на два внутренних IP-адреса. Мы не можем запустить bbb на любом порту, кроме 80, поскольку это веб-сервис. Если мне нужно отозвать 80 из 192.168.1.128 и переслать его на 192.168.1.127, другие получат доступ к bbb, но не смогут. Нам нужны оба. Вкратце, у нас есть два веб-сервера и только один общедоступный IP-адрес (122.168.xxx.53), и только один веб-сервер может проходить через этот общедоступный IP-адрес, чтобы внешний мир мог получить к нему доступ. Как мне сделать их доступными для внешнего мира?
То, что я пробовал: я попытался заставить наш сервер IBM вести себя как прокси между входящими запросами и нашим сервером bbb, отредактировав файл httpd.conf программного обеспечения сервера Apache и добавив запись ProxyPass / bigbluebutton / 192.168.1.127 Это означает, что если кто-то для доступа к URL-адресу 122.168.xxx.53 / bigbluebutton / данные будут извлечены из 192.168.1.127 и будут отображаться для посетителя. Например, я обращаюсь к определенной странице bbb, такой как 122.168.xxx.53 / bigbluebutton / index.html. Эта страница будет загружена из 192.168.1.127/index.html и будет отображаться для внешнего посетителя. Мне это удается, но проблема в том, что предположим, что веб-страница index.html содержит ссылку на определенное изображение как 'images / bbb_logo.jpg', предназначенное для интерпретации как 192.168.1.127/images/bbb_logo.jpg, на самом деле интерпретируется как 192.168.1.128/images/bbb_logo.jpg ', поскольку 122.168.xxx.53 сопоставлен с 192.168.1.128, потому что мы перенаправили порт 80 на .... 1.128, а не на .... 1.127. На этом этапе, если в страницу встроены относительные URL-адреса, наш прокси-сервер apache не работает.
Полезная информация: Сервер IBM работает под управлением Windows Server 2008 R2 с программным обеспечением xampp для обработки HTTP-запросов. Виртуальная машина BBB запускает серверную версию ubuntu с nginx в качестве http-сервера.