How to Configure Bold BI with a reverse proxy server in the DMZ environment on a Windows server
Prerequisites
You need the following prerequisites to Configure Bold BI with a reverse proxy server in the DMZ environment to the Windows server.
-
Windows server.
-
Reverse proxy server (Nginx).
-
React front-end machine.
Follow the given steps to configure the Bold BI with a reverse proxy server in the DMZ in the windows server.
-
You need to Install the Bold BI in the windows server, and after finishing the Application Setup create a dashboard.
-
Then need to Change the binding from localhost to IP address as shown below.

-
Need to proxy pass the Boldbi server to the reverse proxy server. Here you are considering the Nginx as a reverse proxy server. Follow the given steps to proxy pass the Bold BI to the Nginx server.
-
Install Nginx.
-
Move to the Nginx install directory by running the following command.
cd /etc/nginx
-
Edit the Nginx default sites-available file using the command shown.
sudo nano sites-available/default
-
You can reload the Nginx using the given command.
sudo nginx -s reload
-
You can test the Nginx using the given command.
sudo nginx -t
-
Now, you can access the Bold BI using the reverse proxy IP inside the same network connection.
-
-
Then, set the inbound rule for the reverse proxy IP in the Bold BI server machine by following the below steps.
-
Go to Start > Run and type
firewall.cpl
. The Windows Firewall window opens. -
Click on the
Advanced Settings
link on the left pane. The Windows Firewall with an Advanced Security window opens. -
Click on the
Inbound Rules
option. -
On the left pane, click on
New rule
. -
Under
Rule Type
select the optioncustom
and click next. -
Select
All program
in the next tap and click next. -
Select
TCP
andspecific local ports
options.FYI: Here you enter the port used by Bold BI in the server machine.
-
Click next and add the reverse proxy IP address in the remote as shown.
FYI: Here you enter your reverse proxy IP.
-
Click next and select the option
Allow the connection.
-
Click next, do not change any option here, and click Next again.
-
Specify a name for this rule.
-
Click Finish.
-
-
You need to embed the dashboards. Follow the given steps to run the embedded application in the react front-end machine.
-
You can download the embedded sample here.
-
Open the solution file in visual studio and you need to set the following properties in the
EmbedProperties.cs
file as follows.RootUrl Reverse Proxy server URL with IP (ex: http://10.0.0.31/bi) SiteIdentifier For Bold BI Enterprise edition, it should be like site/site1
. For Bold BI Cloud, it should be empty string.UserEmail UserEmail of the Admin in your Bold BI, which will be used to get the dashboards list. EmbedSecret You can get your EmbedSecret key from embed tab by enabling Enable embed authentication
in Administration page as mentioned in next step.FYI: Here our reverse proxy IP is 10.0.0.31 and the site name is site1.
-
You can get your Embed Secret key from the administrator setting section.
-
Now, your application is ready to run, before running the application need to change the
applicationUrl
with your machine IP with the port number in thelanchSetting.json
file as shown.FYI: Here our machine IP is 10.0.0.11:8082.
-
Run the application you can see the output in your default web browser shown below.
NOTE: If you are facing the below issue while running the application with your machine IP, please open the command prompt in administered mode and run the given commands.
netsh http add urlacl url=http://{yourlocalhostIP:port}/ user=everyone netsh advfirewall firewall add rule name="IISExpressWeb" dir=in protocol=tcp localport={port} profile=private remoteip=localsubnet action=allow
-
-
You need to set the inbound rule for the react front end machine IP in the reverse proxy server by following the steps.
-
Run the following command with the react front end machine IP.
sudo ufw allow from {react front end IP}
-
You can list the inbound rules, using the command shown as follows.
sudo ufw status numbered
NOTE: Make sure the react front end machine IP only accesses the reverse proxy machine.
-
Finally, you can expose react front-end server to the internet. In our case, we are exposing the private URL
http://10.0.0.11:8082/
to Public URLhttp://182.72.161.150:58951/
as shown below.
-