Bold BI Deployment Using Reverse Proxy Setup
This article provides a universal guide to deploying Bold BI in various environments (Windows, Linux, Docker, or Kubernetes) and exposing it securely and publicly via an Nginx reverse proxy hosted on a Linux VM.
Prerequisites
- VM or Kubernetes cluster for installing Bold BI (Windows, Linux, Docker, or Kubernetes).
- Linux VM for setting up the reverse proxy using Nginx.
- Internal network access from the Nginx VM to the Bold BIĀ® hosted resource.
- (Optional) A domain and valid SSL certificate for secure access.
Setup and Deployment
Step 1: Install Bold BI on Host Machine
Follow the appropriate guide:
- Windows: Install Bold BI on Windows
- Linux: Install Bold BI on Linux
- Docker: Install Bold BI on Docker
- Kubernetes: Install Bold BI on Kubernetes
For example, the Bold BI application is configured with the following domain:
http://ip-address or https://host-url
š” Kubernetes Note
If Bold BIĀ® is deployed on Kubernetes, run the command below to register your reverse proxy DNS with the Nginx Ingress:
kubectl annotate ingress bold-ingress -n <your-namespace> nginx.ingress.kubernetes.io/server-alias="<your-reverse-proxy-domain>" --overwrite
Step 2: Install Nginx on Linux VM
-
Update the package list and install Nginx on the second machine:
sudo apt update sudo apt install nginx
Step 3: Configure Nginx Reverse Proxy
-
Navigate to the Nginx configuration directory:
cd /etc/nginx/sites-available
-
Remove any default Nginx configuration files that may be present from the above location.
-
Create a new configuration file (e.g.,
boldbi-nginx
) for the Bold BI application with the following settings. Ensure to replace the placeholder with the actual public address of the Bold BI application:server { listen 80 default_server; #listen 443 ssl; #server_name example.com; #ssl_certificate /path/to/certificate/file/domain.crt; #ssl_certificate_key /path/to/key/file/domain.key; location / { proxy_pass http://ip-address; # Replace with your machine/public address used for the Bold BI application #proxy_set_header Host example.com; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; } }
-
If you have an SSL certificate for your domain and need to configure the site with it, follow these steps:
-
Navigate to the directory
/etc/nginx/sites-available/
and open the fileboldbi-nginx
in a text editor. -
Uncomment the marked lines in the Nginx config file.
-
Comment the marked line in the Nginx config file.
-
Replace
example.com
with your reverse proxy URL. -
Define the path of the SSL certificate:
ssl_certificate /etc/ssl/domain.crt;
. -
Specify the directory where the SSL certificate key is located:
ssl_certificate_key /etc/ssl/domain.key;
.Refer the below image for the SSL configuration changes:
-
Step 4: Create Symbolic Link
-
Create a symbolic link for the new configuration file in the
sites-enabled
directory. For example, if the file name isboldbi-nginx
, use the following command:sudo ln -s /etc/nginx/sites-available/boldbi-nginx /etc/nginx/sites-enabled/boldbi-nginx
Step 5: Test Configuration and Restart Nginx
-
Check the Nginx configuration syntax:
sudo nginx -t
-
If the syntax is correct, reload the Nginx server:
sudo nginx -s reload
After completing these steps, the Bold BI application will also be accessible via the reverse proxy URL.
Step 6: Update Reverse Proxy URL on the Bold BI Admin Page
-
After entering the reverse proxy, it will prompt to proceed with the login. Once logged in, navigate to the administration page.
Example:https://<your-reverse-proxy-domain>/ums/administration/proxy-settings
-
Update the reverse proxy URL and save the changes using the save option.
Step 7: Restart the Bold BI Application Service
After updating the reverse proxy URL, restart the Bold BI application by following the instructions provided in this documentation: How to restart the Bold BIĀ® application