Skip to main content

Protect Jitsi Meet with NGINX

·
Table of Contents

From a security perspective, it is a good idea to integrate Jitsi Meet with an LDAP directory for authentication. Even though Jitsi Meet supports internal authentication, this is not recommended.

NGINX
#

Default routes
#

The NGINX configuration blob shown below redirects the User to a default website if the location does not match any of the Jitsi Meet default routes. One would also add an additional condition at the beginning of the condition so that the format of the meeting ID is something that only the site administrator would know. For example:

  • location ~ "(?=^/(?!<some_random_string>).+$)"
  location ~
 "(?=^/(?!pwa).+$)(?=^/(?!xmpp).+$)(?=^/(?!libs).+$)(?=^/(?!sounds).+$)(?=^/(?!images).+$)(?=^/(?!static).+$)(?=^/(?!colibri).+$)(?=^/(?!_next).+$)(?=^/(?!css).+$)"
    {
      return 301 $scheme://jitsi.example.com;
    }

String length check
#

One could also add in a string length check before the configuration shown above. In the example shown below, the URL has to be at least 32 characters in length.

  location ~ "^/[a-zA-Z0-9]{1,31}$"
    {
      return 301 $scheme://jitsi.example.com;
    }