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.
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 option custom
and click next.
Select All program
in the next tap and click next.
Select TCP
and specific 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 the lanchSetting.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 URL http://182.72.161.150:58951/ as shown below.