我知道已有关于这个主题的帖子,但是他们没有产生好的结果,我想在此分享我对这个主题的看法。如果您认为这是一个坏主意,请随意调整我的帖子。
服务器:Ubuntu 16.04.1,Apache2.4.18
DNS conf:
就像我说的那样,我尝试在apache2上运行Jitsi。 按照快速安装(https://github.com/jitsi/jitsi-meet/blob/master/doc/quick-install.md)
中描述的步骤操作如果我在安装Ubuntu之后在我的服务器上安装Jitsi meet,那么没有Apache或Nginx。 Jitsi很棒。 如果我在安装Nginx后在我的服务器上安装Jitsi meet。 Jitsi工作得很好。
使用相同的安装方法,我尝试在安装Apache2后安装Jitsi会议,所以我注意到Jitsi meet不会自己配置apache2,所以我尝试了第一次配置:
<VirtualHost *:443>
ServerAdmin postmaster@mydomain.xx
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时,我收到以下错误:
&#34;它有效!现在,您的客户BOSH指向此URL以进行连接 韵律。
有关更多信息,请参阅Prosody。设置BOSH&#34;
但是当我查看/etc/prosody/conf.avail/meet.mydomain.xx.cfg.lua文件时,我注意到bosh已经启用,其余配置正常,这里有解释{ {3}} 该日志不包含任何错误。 如果你有想法解决这个问题,我很感兴趣。
我测试的第二个配置:
<VirtualHost *:80>
ServerAdmin postmaster@mydomain.xx
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的主页符合但没有文本,没有徽标,当我点击go按钮时,没有任何事情发生。 日志中没有错误。
所以在这里我不知道该做什么。如果有人有一些建议或想法,谢谢你分享!
再见,谢谢你的阅读Gspohu
答案 0 :(得分:1)
这适用于 FreeBSD 12.2-RELEASE、apache24-2.4.46、 尤其是 Android 手机上的 jitsi 客户端应用程序。 我想它会回答你的问题。
作为对我们网站的额外调整:对于 https,我们使用非标准端口 444(而不是通常的 443)。
我遵循了 http://www.bobeager.uk/pdf/jitsi.pdf 的非常有用的说明(感谢您!),但是我使用 apache 而不是 nginx,这很简单,因为它无论如何都在这台服务器上运行。
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
<VirtualHost *:444>
ServerName meet.example.com:444
DocumentRoot "/usr/local/www/jitsi-meet"
ServerAdmin np@ibu.de
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
不确定,是否有必要;但我认为,它不会痛。
注意:某些值仅设置为域,其他值设置为域+端口 这里的错误配置可能会导致浏览器中的 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',
....