diff --git a/doc/sources/admin/applications/jitsimeet.rst b/doc/sources/admin/applications/jitsimeet.rst index 067299a7e..2a4908645 100644 --- a/doc/sources/admin/applications/jitsimeet.rst +++ b/doc/sources/admin/applications/jitsimeet.rst @@ -95,6 +95,154 @@ configuration file: proxy_pass http://127.0.0.1:8888/login; } + +.. warning:: + + Thoses 2 blocks should be append before the "location ~ ^/([^/?&:'"]+)/(.*)$ {" + +A complete nginx configuration would look like this : + + server { + listen 80; + server_name jitsi.demo; + + location ^~ /.well-known/acme-challenge/ { + default_type "text/plain"; + root /usr/share/jitsi-meet; + } + location = /.well-known/acme-challenge/ { + return 404; + } + location / { + return 301 https://$host$request_uri; + } + } + server { + listen 443 ssl http2; + server_name jitsi.demo; + + ssl_protocols TLSv1.2 TLSv1.3; + ssl_prefer_server_ciphers on; + ssl_ciphers "EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA256:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EDH+aRSA+AESGCM:EDH+aRSA+SHA256:EDH+aRSA:EECDH:!aNULL:!eNULL:!MEDIUM:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4:!SEED"; + + add_header Strict-Transport-Security "max-age=31536000"; + + ssl_certificate /etc/jitsi/meet/jitsi.demo.crt; + ssl_certificate_key /etc/jitsi/meet/jitsi.demo.key; + + root /usr/share/jitsi-meet; + + # ssi on with javascript for multidomain variables in config.js + ssi on; + ssi_types application/x-javascript application/javascript; + + index index.html index.htm; + error_page 404 /static/404.html; + + + location = /config.js { + alias /etc/jitsi/meet/jitsi.demo-config.js; + } + + location = /external_api.js { + alias /usr/share/jitsi-meet/libs/external_api.min.js; + } + + #ensure all static content can always be found first + location ~ ^/(libs|css|static|images|fonts|lang|sounds|connection_optimization|.well-known)/(.*)$ + { + add_header 'Access-Control-Allow-Origin' '*'; + alias /usr/share/jitsi-meet/$1/$2; + } + + # BOSH + location = /http-bind { + proxy_pass http://127.0.0.1:5280/http-bind; + proxy_http_version 1.0; + proxy_set_header X-Forwarded-For $remote_addr; + proxy_set_header Host $http_host; + } + + # xmpp websockets + location = /xmpp-websocket { + proxy_pass http://localhost:5280/xmpp-websocket?prefix=$prefix&$args; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header Host $http_host; + tcp_nodelay on; + } + + location ~ ^/([^/?&:'"]+)$ { + try_files $uri @root_path; + } + + location @root_path { + rewrite ^/(.*)$ / break; + } + + location ~ ^/([^/?&:'"]+)/config.js$ + { + set $subdomain "$1."; + set $subdir "$1/"; + + alias /etc/jitsi/meet/jitsi.demo-config.js; + } + + # BOSH for subdomains + location ~ ^/([^/?&:'"]+)/http-bind { + set $subdomain "$1."; + set $subdir "$1/"; + set $prefix "$1"; + + rewrite ^/(.*)$ /http-bind; + } + + # websockets for subdomains + location ~ ^/([^/?&:'"]+)/xmpp-websocket { + set $subdomain "$1."; + set $subdir "$1/"; + set $prefix "$1"; + + rewrite ^/(.*)$ /xmpp-websocket; + } + + location = /lmauth { + internal; + include /etc/nginx/fastcgi_params; + fastcgi_pass unix:/var/run/llng-fastcgi-server/llng-fastcgi.sock; + fastcgi_pass_request_body off; + fastcgi_param CONTENT_LENGTH ""; + fastcgi_param HOST $http_host; + fastcgi_param X_ORIGINAL_URI $request_uri; + } + + location = /login/ { + + auth_request /lmauth; + auth_request_set $lmremote_user $upstream_http_lm_remote_user; + auth_request_set $lmlocation $upstream_http_location; + error_page 401 $lmlocation; + + auth_request_set $mail $upstream_http_mail; + proxy_set_header mail $mail; + auth_request_set $displayname $upstream_http_displayName; + proxy_set_header displayName $displayname; + auth_request_set $lmcookie $upstream_http_cookie; + proxy_set_header Cookie: $lmcookie; + + proxy_pass http://127.0.0.1:8888/login; + } + + #Anything that didn't match above, and isn't a real file, assume it's a room name and redirect to / + location ~ ^/([^/?&:'"]+)/(.*)$ { + set $subdomain "$1."; + set $subdir "$1/"; + rewrite ^/([^/?&:'"]+)/(.*)$ /$2; + } + + } + Jitsi Meet Virtual host in Manager ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~