Попытка установить Jitsi Meet с apache2

Я знаю, что на эту тему уже есть сообщения, но они не дают хороших результатов, и я хотел бы поделиться здесь своими мыслями по этому вопросу. Не стесняйтесь модерировать мой пост, если вы считаете, что это плохая идея.

Сервер: Ubuntu 16.04.1, Apache2.4.18

Конфигурация DNS:

  • для джитси встретиться - meet.mydomain.xx ----> ip_of_my_server
  • для моего сайта - mydomain.xx ----> ip_of_my_server

Как я уже сказал, я пытаюсь запустить Jitsi на apache2. Выполнив шаги, описанные в разделе Быстрая установка (https://github.com/jitsi/jitsi-meet/blob/master/doc/quick-install.md)

Если я устанавливаю Jitsi на своем сервере сразу после установки Ubuntu, то есть без Apache или Nginx. Джитси работает отлично. Если я установлю Jitsi на своем сервере после установки Nginx. Джитси работает отлично.

С тем же методом установки я пытаюсь установить Jitsi Meet после установки Apache2, поэтому я замечаю, что Jitsi Meet не настраивает сам apache2, поэтому я попробовал эту первую конфигурацию:

<VirtualHost *:443>
ServerAdmin [email protected]
ServerName  meet.mydomain.xx
ServerAlias  meet.mydomain.xx
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
DocumentRoot "/usr/share/jitsi-meet/"
<Directory /usr/share/jitsi-meet/>
AllowOverride All
</Directory>

ProxyPass / http://meet.mydomain.xx:5280/http-bind
ProxyPassReverse / http://meet.mydomain.xx:5280/http-bind

ProxyPreserveHost Off

<Location "/http-bind">
   Order allow,deny
   Allow from all
</Location>

<Location "/meet/xmpp-websocket">
    ProxyPass http://meet.mydomain.xx:5280
    ProxyPassReverse http://meet.mydomain.xx:5280
</Location>

ErrorLog /var/www/meet/logs/error.log
CustomLog /var/www/meet/logs/access.log combined
SSLCertificateFile /etc/letsencrypt/live/acert.mydomain.xx/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/acert.mydomain.xx/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>

Когда я загружаю страницу meet.mydomain.xx, я получаю следующую ошибку:

«Это работает! Теперь ваш клиент BOSH указывает на этот URL-адрес для подключения к Prosody.

Для получения дополнительной информации см. Просодия. Настройка БОШ"

Но когда я смотрю файл /etc/prosody/conf.avail/meet.mydomain.xx.cfg.lua, я замечаю, что bosh уже включен, а остальная часть конфигурации в порядке с тем, что здесь объясняется https://github.com/jitsi/jitsi-meet/blob/master/doc/manual-install.md Журнал не содержит ошибок. Если у вас есть идея решить эту проблему, мне интересно.

Вторая конфигурация, которую я тестировал:

<VirtualHost *:80>
ServerAdmin [email protected]
ServerName  meet.mydomain.xx
ServerAlias  meet.mydomain.xx
DocumentRoot "/usr/share/jitsi-meet/"

SSLProxyEngine On
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/[a-zA-Z0-9]+$
RewriteRule ^/(.*)$ / [PT]
RewriteRule ^/http-bind$ https://meet.mydomain.xx:5281/http-bind [P,L]

ErrorLog /var/www/meet/logs/error.log
CustomLog /var/www/meet/logs/access.log combined
</Virtualhost>

С этой настройкой результат кажется лучше, я вижу домашнюю страницу встречи Jitsi, но без текста, без логотипа, и когда я нажимаю кнопку «Перейти», ничего не происходит. Журнал не содержит ошибок.

Так что здесь я действительно не знаю, что делать. Если у кого-то есть советы или идеи, спасибо, что поделитесь ими!

До свидания, спасибо, что читаете

Гспоху


person gspohu    schedule 26.10.2016    source источник
comment
Это не ошибка, это просто говорит о том, что БОШ работает нормально. Проблема в том, что ты проксировал все запросы, прося рут/в чушь. Вам следует попробовать ProxyPass /http-bind http://meet.mydomain.xx:5280/http-bind проксировать только запросы, просящие ЧУШЬ.   -  person Moonchild    schedule 05.05.2017


Ответы (1)


Это работает с FreeBSD 12.2-RELEASE, apache24-2.4.46, особенно с клиентским приложением jitsi на телефонах Android. Я думаю, что это ответит на ваш вопрос.

В качестве дополнительной настройки на нашем сайте: для https используем нестандартный порт 444 (вместо обычного 443).

Я следовал очень полезным инструкциям http://www.bobeager.uk/pdf/jitsi.pdf (Спасибо за это!), но вместо nginx я использую apache, просто потому, что он все равно работает на этом сервере.

Конфиг апача:

loaded modules in httpd.conf
    LoadModule proxy_module libexec/apache24/mod_proxy.so
    LoadModule proxy_connect_module libexec/apache24/mod_proxy_connect.so
    LoadModule proxy_http_module libexec/apache24/mod_proxy_http.so
    

Конфигурация Apache VirtualServer: обратите внимание на /index.html в RewriteRule!

<VirtualHost *:444>
ServerName meet.example.com:444
DocumentRoot "/usr/local/www/jitsi-meet"
ServerAdmin [email protected]
SSLEngine on
SSLProxyEngine on
SSLCertificateFile       "/usr/local/etc/letsencrypt/live/meet.example.com/fullchain.pem"
SSLCertificateKeyFile    "/usr/local/etc/letsencrypt/live/meet.example.com/privkey.pem"
  <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_URI} ^/[a-zA-Z0-9]+$
    RewriteRule ^/([a-zA-Z0-9=?]+)$ /index.html
  </IfModule>

<directory "/usr/local/www/jitsi-meet">
    require all granted
    Options +Includes
    directoryindex index.html
    AddOutputFilter Includes html
        XBitHack on
</directory>

# BOSH
<location "/http-bind">
        proxypass  "http://localhost:5280/http-bind"
        header set host "expr=%{HTTP_HOST}"
</location>

# XMPP websockets
<location "/xmpp-websocket">
        proxypass  "http://localhost:5280/xmpp-websocket"
        header set host  "expr=%{HTTP_HOST}"
        header set x-forwarded-for "expr=%{REMOTE_ADDR}"
</location>
</VirtualHost>

Из-за XBitHack я сделал:

    chmod +x /usr/local/www/jitsi-meet/*.html

не уверен, нужно ли это; но думаю, это не больно.

Изменения в /usr/local/www/jitsi-meet/config.js

Примечание: некоторые значения установлены только для домена, другие — для домена и порта. Неправильная конфигурация здесь может вызвать ошибки javascript CORS в браузере. Проверьте с помощью firefox crtl-shift-I , консоль

var domainroot = 'meet.example.com'
var domainuri = domainroot+':444'
var config = {
   hosts: {
        domain: domainroot,
        bridge: 'jitsi-videobridge.'+domainroot,
        focus: 'focus.'+domainroot,
        muc: 'conference.'+domainroot
   },

    // BOSH URL. FIXME: use XEP-0156 to discover it.
    // bosh: '//jitsi-meet.example.com/http-bind',
    bosh: '//'+domainuri+'/http-bind',
 ....
person Norbert Poellmann    schedule 28.12.2020