For those that had the same issue on cloudways with /icons/ not being proxied properly through their nginx/apache cache. I had this issue for some time, and it wasn’t until claude figured it out.
The Fix:
- Deleted broken
/icons/directory with PHP proxy - Created symlink:
/icons/→/node_modules/n8n-nodes-base/dist/ - Apache now serves icons as static files (no proxy needed)
Commands to Fix:
# SSH to your server
ssh user@yourserver
# Navigate to n8n public_html
cd /home/{app_path}/public_html
# Remove broken icons directory
rm -rf icons
# Create proper symlink structure
mkdir -p icons/n8n-nodes-base/dist
ln -sf /home/{app_path}/public_html/node_modules/n8n-nodes-base/dist/nodes icons/n8n-nodes-base/dist/nodes
# Verify symlink works
ls -la icons/n8n-nodes-base/dist/nodes/Webhook/
You may also need to request cloudways support to add /icons/ to the nginx proxy:
server_name_in_redirect off;
include /etc/nginx/additional_server_conf;
location /icons/ {
proxy_pass http://127.0.0.1:5678;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
}
## Describe the problem/error/question
## What is the error message (if any)?
## Please share your workflow
(Select the nodes on your canvas and use the keyboard shortcuts CMD+C/CTRL+C and CMD+V/CTRL+V to copy and paste the workflow.)
## Share the output returned by the last node
<!-- If you need help with data transformations, please also share your expected output. -->
## Information on your n8n setup
* **n8n version:**
* **Database (default: SQLite):**
* **n8n EXECUTIONS_PROCESS setting (default: own, main):**
* **Running n8n via (Docker, npm, n8n cloud, desktop app):**
* **Operating system:**