My fix for the issue. Use at your own risk!
The management console seems to be accessed under wwwroot while all other functions are passed to the proxy. This fix works by limiting access to wwwroot and redirecting the error page to proxy which returns a denied page for the management console. You can choose what subnets to allow. Tested under v15 SP4 only.
*******Windows Install********
Windows Path
\Program Files\3CX Phone System\Bin\nginx\conf\nginx.conf
Original located under:
server {
listen 5001 ssl;
Look for:
location / {
index index.html;
root "C:/ProgramData/3CX/Data/Http/wwwroot";
try_files $uri $uri/
@proxy;
}
And replace with the following:
location / {
error_page 403 = @denied;
allow 192.168.0.0/16;
allow 172.16.0.0/12;
allow 10.0.0.0/8;
allow 127.0.0.1;
deny all;
index index.html;
root "C:/ProgramData/3CX/Data/Http/wwwroot";
try_files $uri $uri/
@proxy;
}
location @denied {
try_files $uri $uri/
@proxy;
}
*******3CX Appliance********
Linux Path
/var/lib/3cxpbx/Bin/nginx/conf/nginx.conf
Original located under:
server {
listen 5001 ssl;
Look for:
location / {
index index.html;
root "/var/lib/3cxpbx/Data/Http/wwwroot";
try_files $uri $uri/
@proxy;
}
And replace with the following:
location / {
error_page 403 = @denied;
allow 192.168.0.0/16;
allow 172.16.0.0/12;
allow 10.0.0.0/8;
allow 127.0.0.1;
deny all;
index index.html;
root "/var/lib/3cxpbx/Data/Http/wwwroot";
try_files $uri $uri/
@proxy;
}
location @denied {
try_files $uri $uri/
@proxy;
}