I want to reverse proxy a netdata agent using apache. Im using the free version and i dont want to sign up. I access my page on the browser using /v3. But when attempting a proxy, any web query will append an extra /v3 which returns a 400 series error. Trying to create a /netdata/v3/ url space also fails as it sometimes attempts to call v1 . Any ideas ?
Suggested template:
Problem/Question
Relevant docs you followed/actions you took to solve the issue
Environment/Browser/Agent’s version etc
What I expected to happen
Hey,
The problem is that Netdata’s web UI makes API calls to /api/v3/..., and if your Apache proxy doesn’t handle the path mapping correctly, you end up with doubled paths like /netdata/v3/api/v3/... hence the 400 errors.
The cleanest solution is to proxy Netdata at a dedicated path like /netdata/ rather than trying to map it to /v3:
<VirtualHost *:80>
RewriteEngine On
ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
Require all granted
</Proxy>
# Note: trailing slashes on BOTH sides
ProxyPass "/netdata/" "http://localhost:19999/" connectiontimeout=5 timeout=30
ProxyPassReverse "/netdata/" "http://localhost:19999/"
RewriteRule ^/netdata$ http://%{HTTP_HOST}/netdata/ [L,R=301]
</VirtualHost>
Then access via http://your-server/netdata/
The browser will automatically call /netdata/api/v3/... for data, and Apache proxies it correctly to Netdata’s root.
If you specifically need /v3 as your base path, you’d need to map both /v3/ and /api/v3/ separately. The /netdata/ approach avoids this entirely.
Netdata’s docs have the full Apache reverse proxy setup worth checking: Running Netdata behind Apache’s mod_proxy
Hope that helps