Share a Web Application#
Overview#
- You can grant individualized access to web applications in a project on a remote location.
You activate the location in “external access” mode and create an individualized “share URL” through the CLI. You must open port 10000 on the machine to TCP traffic.
- The share URL provides restricted access for 48 hours.
When a user clicks the URL, it binds access to the web application to that browser on that host. Other users on a different host cannot use the link.
The same user cannot even use it in a different browser on their machine.
The link only provides access to that web application. Access to other applications or the container is blocked unless the shared application has access, e.g. JupyterLab.
- This feature is not “push to production” - Use it for rapid prototyping or temporary sharing.
There is no load balancing or multi-user support implied in this feature. User access through shareable URL automatically expires after 48 hours.
You are responsible for opening port 10000 and applying network security measures
This feature controls accesss to the application, not the system. Use security best practices.
Restrict network access: Limit incoming connections to known IPs or CIDR blocks.
Be cautious with share-links: Only share them with trusted people.
Key Concepts#
- External Access Mode
A location setting that allows you to grant access to web applications running in a project container. Must be set on activation through the CLI.
- Share URL
A single-use URL that provides access to a particular web application in a project container on a remote location. Created through the CLI on a per user basis.
Create a Share URL#
- Prerequisites:
A remote location with port
10000open for TCP connectionsFirewall rules on that port aligned to your security policy
The project to be shared present on the remote location
- Step One: Activate the remote location with the CLI and set it in external access mode.
This feature is CLI only. You must activate the location with the external access flag.
nvwb activate <REMOTE_LOCATION> --external-access- Step Two: Open port 10000 on the remote to web traffic.
The exact steps and security of opening the port is your responsibility. You should research and implement this on your own.
- Step Three: Open the relevant project on the remote location and start the application.
Go to Location Card > Project Card > Application Start
Wait for the application to open in a browser
- Step Four: Create the share URL in the CLI and share it with the user.
This feature is only supported in the CLI, so you must run the following command.
nvwb create share-url <APP_NAME>
Copy the URL from the terminal and share it with the user.
Interrupt or Terminate Access#
- Option 1: Interrupt access by stopping the application or container.
Go to Project Tab > Project Dashboard > Project Container Section
Click Stop Container or click the Toggle next to the application name
Restarting the application before the 48 hour access period terminates will allow the user to access it in the original browser session.
- Option 2: Permanently terminate access by deactivating the remote location.
Close all Location Windows for that location
Deactivate any terminal session for that location
This permanently terminates access for all URLs to all applications on that location.