I’m currently testing n8n over stackstorm to validate this tool and migrate our workflows on it.
unfortunately, im stuck with a step to retrieve information from netbox. i have proxies for the traffic from private to public, for example, install packages with apt…
my n8n host is selfhosted on a virtual machine and my netbox as well.
From host to host, everything works fine. i can curl my netbox from n8n and i created a specific user with the permission needed to to what i want. tested and validated with curl.
Anyway, each time i try to do the exact same thing with the netbox node, i got an error 403 with permission denied cause the request is passing trought the proxy. Even if i unset proxy set up from var env and i start n8n app with the ecosystem file set to use NO_PROXY when traffic destination is inside my local domain.
To exclude netbox-node i try with http-request node and i got the same error and use the proxy
Is there anywhere else i need to check to unset any proxy option ?
thanks for your quick answer, you are correct and yes im using this netbox-node.
The error from http_request
Access Denied.
Access control configuration prevents your request from being allowed at this time. Please contact your service provider if you feel this is incorrect.
Is basically the same from netbox-node and the acces denied come from my proxy
/root/.pm2/logs/n8n-out.log last 15 lines:
0|n8n | Error: NetBox API error (403 Forbidden) on /api/dcim/devices/
0|n8n | at handleApiError (/root/.n8n/nodes/node_modules/n8n-nodes-netbox/dist/nodes/NetBox/helpers/errorHandler.js:56:16)
0|n8n | at ExecuteContext.apiRequest (/root/.n8n/nodes/node_modules/n8n-nodes-netbox/dist/nodes/NetBox/helpers/apiRequest.js:109:49)
0|n8n | at processTicksAndRejections (node:internal/process/task_queues:105:5)
0|n8n | at ExecuteContext.listDevices (/root/.n8n/nodes/node_modules/n8n-nodes-netbox/dist/nodes/NetBox/methods/dcim/devices/devices.methods.js:34:28)
0|n8n | at ExecuteContext.executeOperation (/root/.n8n/nodes/node_modules/n8n-nodes-netbox/dist/nodes/NetBox/helpers/executeOperation.js:371:24)
0|n8n | at ExecuteContext.execute (/root/.n8n/nodes/node_modules/n8n-nodes-netbox/dist/nodes/NetBox/NetBox.node.js:353:28)
0|n8n | at WorkflowExecute.executeNode (/root/.nvm/versions/node/v23.11.1/lib/node_modules/n8n/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1254:8)
0|n8n | at WorkflowExecute.runNode (/root/.nvm/versions/node/v23.11.1/lib/node_modules/n8n/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1428:11)
0|n8n | at /root/.nvm/versions/node/v23.11.1/lib/node_modules/n8n/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1760:27
0|n8n | at /root/.nvm/versions/node/v23.11.1/lib/node_modules/n8n/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:2337:11
0|n8n | ========== NETBOX NODE EXECUTION COMPLETED ==========
0|n8n |
0|n8n |
0|n8n | NetBox API error (403 Forbidden) on /api/dcim/devices/
the Start command it just a “click” execution with mock data and its work fine as i have a second step with a python code to extrapolate variable from it
Try with the execute command was a good idea, its work as expected, the request is not redirect to the proxy
This was primarily to see if you can spot any env vars that would indicate that you are still have any vars set for proxy use. Anything in the output that would make you believe proxy is still involved?
You said that host to host the proxy is not involved and the request goes without any problem. Where DO you use proxy then?
Any transparent proxying happening in your network (where traffic is directed to the proxy without having to explicitly specify the proxy destination, by means of the network itself)?
This was primarily to see if you can spot any env vars that would indicate that you are still have any vars set for proxy use. Anything in the output that would make you believe proxy is still involved?
yes var env http_proxy and no_proxy are setted. i tried to unset them directly from the host and by ecosystem file but the execute command output display the variable still set.
But the request from execute node works unlike http_request node and netbox node.
You said that host to host the proxy is not involved and the request goes without any problem. Where DO you use proxy then?
sorry, i should have been more detailed. “Host to host” goes trought different network.
The proxy is there to redirect traffic which are not from our private networks.
For example, its used when we need to do an apt to install package or in the case of n8n to download community node as the one concerning netbox.
EDIT: after a reboot and a restart of pm2, env proxy var have been deleted.
Now, its work. But i still dont understand why with netbox_node the proxy is involved
Some nodes (which use axios maybe?..) respect system settings when sending requests, while others do not, this is my best guess without being able to repro locally.