Hosting the web app externally
The web app is hosted by default on every Conferencing Node, however there may be situations where you want to host the web app on a reverse proxy or external web server instead, for example if you want to host multiple customized/branded versions of the app.
Hosting the web app on an external server involves downloading a copy of the entire web app from the Management Node and uploading it onto the external web server or reverse proxy and then serving it from that server. If required, you can host multiple different branding customizations under different URLs on those external web servers or reverse proxies.
This topic describes how to download and copy over the web app for hosting externally, how to apply customized branding to externally-hosted web apps, and how to upgrade externally-hosted web apps. It also describes what you must do if you are Using SSO with an externally-hosted web app.
Note that since version 31 of Pexip Infinity you can also use path-based branding which allows you to host multiple differently customized web apps on your Conferencing Nodes.
Full information about creating a customized version of the web app is given in Customizing and branding the Connect apps and Advanced Connect app branding and customization.
Copying over the Connect web app
To download the Connect web app files and copy them to an external web server or reverse proxy:
-
From the Management Node, go to .
You see the Infinity Connect web app download page.
-
In the Download web app field, use the drop-down menu to select the version of the web app you want to host externally, and select .
A ZIP file containing the files for the selected web app is downloaded to your local machine.
-
Unzip the files and locate the relevant directory:
- for Webapp3: webapp3/<revision>/web/
- for Webapp2: webapp2/<revision>/web/static/dist/web/
- Copy the contents of the web/ directory to the external web server or reverse proxy.
Examples
Assuming that your external web server (https://pexample.com) is serving files from /var/www/html:
For Webapp3:
- Download the Webapp3 ZIP file from Pexip Infinity.
- Unzip the file to your home directory (
unzip $webapp3.zip
). - Copy the contents to /var/www/html (cp -r webapp3/$version/web /var/www/html/webapp3).
- Go to https://example.com/webapp3 to use Webapp3.
For Webapp2:
- Download the Webapp2 ZIP file from Pexip Infinity.
- Unzip the file to your home directory (unzip $webapp2.zip).
- Copy the contents to /var/www/html (cp -r webapp2/$version/web/static/dist/web /var/www/html/webapp2).
- Go to https://example.com/webapp2 to use Webapp2.
Uploading branding files
When hosting the web app on an external web server or reverse proxy you must manually upload any customized client files to the appropriate directory on the host server. The name of the directory depends on whether the branding applies to Webapp3 or Webapp2.
You obtain the files to be uploaded by downloading them from the Management Node, using the branding portal to create a branding package, or creating them manually.
Webapp3
For Webapp3, the branding files must be uploaded to a branding folder directly under the directory from which the web app is being served. You must create the branding folder if it does not already exist.
For example, assuming that your external web server (https://pexample.com) is serving Webapp3 from /var/www/html/webapp3 and you are using a branding package downloaded from Pexip Infinity:
- Download the Webapp3 branding package from Pexip Infinity.
- Unzip the files to your home directory (unzip $branding.zip).
- Copy the branding files to the hosted Webapp3 (cp webapp3/branding /var/www/html/webapp3/).
- Go to https://example.com/webapp3 to use the branded Webapp3.
See Manually customizing Webapp3 for details of the files that you can include in the branding folder.
Webapp2
For Webapp2, the branding files must be uploaded to a custom_configuration folder directly under the directory from which the web app is being served. You must create the custom_configuration folder if it does not already exist.
Any branding packages downloaded from Pexip Infinity will have the structure webapp2/branding, so you must change the name of the branding folder to custom_configuration when copying it to the external server.
For example, assuming that your external web server (https://pexample.com) is serving Webapp2 from /var/www/html/webapp2 and you are using a branding package downloaded from Pexip Infinity:
- Download the Webapp2 branding package from Pexip Infinity.
- Unzip the files to your home directory (unzip $branding.zip).
- Copy the branding files to the hosted Webapp3 (cp webapp2/branding/* /var/www/html/webapp2/custom_configuration/).
- Go to https://example.com/webapp2 to use the branded Webapp2.
See Manually customizing Webapp2 and the desktop app for details of the files that you can include in the custom_configuration folder.
Note that:
- For Webapp2, if you want to customize the settings you must place your settings.json file in the custom_configuration directory along with your other customized files.
- For Webapp2, when hosting the web app on an external web server, you must supply a settings.json file and change the serverAddress variable to point to a Conferencing Node e.g. "serverAddress": "conferencingnode1.example.com". You can only specify one Conferencing Node. This modification is not required if you are hosting the web app on a reverse proxy as it will typically already be configured to forward requests to your Conferencing Nodes.
Maintaining customizations when upgrading Pexip Infinity
If the web app is being hosted on an external web server or reverse proxy, the copy of the web app must be upgraded manually whenever the Pexip Infinity installation is upgraded or you update the web app software bundle. You should migrate the existing customized branding directory (Webapp3) or custom_configuration directory (Webapp2) on the external web server or reverse proxy onto the new version:
- Backup the branding or custom_configuration directory on the external web server or reverse proxy containing your current customizations.
- Upgrade your Pexip Infinity deployment, or install the software bundle for a new web app version.
- Download and copy over the upgraded web app files as described in Copying over the Connect web app.
- Replace the contents of the branding or custom_configuration directory with your previously customized contents.
-
Check if you need to add any more customizations to support any new features.
When a new version of the web app includes new features, any new customizable elements are added to the default versions of the files in the branding or custom_configuration directory that is shipped with the new software. Therefore, after an upgrade you should compare your customized versions of these files with the new default versions, to see if any text, styles, colors or resource files should be adjusted.
Using SSO with an externally-hosted web app
Proxying API requests
If you are hosting the webapp externally, you must ensure that any API requests sent to the external host are proxied on to Pexip Infinity.
For example, if your webapp is hosted at https://webapp.pexample.com:
-
anything under https://webapp.pexample.com/api must be proxied through to your Conferencing Nodes
-
for each Identity Provider configured in your deployment, either https://webapp.pexample.com/api/v1/samlconsumer/ (for SAML IdPs) or https://webapp.pexample.com/api/v1/oidcconsumer/ (for OIDC IdPs) must be included as an additional Redirect URL.
Adding external hosts to Pexip Infinity
If you are hosting the web app externally and you wish to use the pop-up-free authentication flow for users attempting to join a meeting, you must add the host's address to the "allow list" of External Web App Hosts.
During the pop-up free flow, the user's browser is ultimately redirected to a URL. Pexip Infinity will only allow the process to continue if the URL includes one of the entries on its internal "allow list", which is made up of the configured IP addresses / FQDNs of all Conferencing Nodes, plus all the hosts listed as an External Web App Host.
To add an external web app host to Pexip Infinity:
- Go to and select
- Enter the IP address or FQDN of the external host, and select .