Bold Reports Deployment Using Reverse Proxy Setup
This article provides a universal guide to deploying Bold Reports 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 Reports (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 Reports hosted resource.
- (Optional) A domain and valid SSL certificate for secure access.
Setup and Deployment
Step 1: Install Bold Reports on Host Machine
Follow the appropriate guide:
- Windows: Install Bold Reports on Windows
- Linux: Install Bold Reports on Linux
- Docker: Install Bold Reports on Docker
- Kubernetes: Install Bold Reports on Kubernetes
For example, the Bold Reports application is configured with the following domain:
http://ip-address or https://host-url
💡 Kubernetes Note
If Bold Reports is deployed on Kubernetes, run the command below to register your reverse proxy DNS with the Nginx Ingress:
kubectl annotate ingress boldreports-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.,
boldreports-nginx
) for the Bold Reports application with the following settings. Ensure to replace the placeholder with the actual public address of the Bold Reports 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 Reports 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 fileboldreports-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.key;
. -
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 is boldreports-nginx, use the following command:sudo ln -s /etc/nginx/sites-available/boldreports-nginx /etc/nginx/sites-enabled/boldreports-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 Reports application will also be accessible via the reverse proxy URL.
Step 6: Update Reverse Proxy URL on the Bold Reports 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 Reports Application Service
After updating the reverse proxy URL, restart the Bold Reports application by following the instructions provided in this documentation: How to restart the Bold Reports® application.