This is an SSL certificate verification error with your self-hosted n8n instance. The UNABLE_TO_GET_ISSUER_CERT_LOCALLY error means Node.js can’t validate Airtable’s SSL certificate chain.
Quick Fix: Disable SSL Verification (Development Only)
If you’re testing locally, add this environment variable to your n8n setup:
NODE_TLS_REJECT_UNAUTHORIZED=0
Docker:
environment:
- NODE_TLS_REJECT_UNAUTHORIZED=0
Warning: Only use this for local development. Never in production as it removes security.
Proper Production Solution: Fix Certificate Chain
The root cause is missing CA certificates in your system. Here’s the permanent fix:
For Docker (Recommended):
Add this to your Dockerfile or docker-compose:
# Update CA certificates
RUN apt-get update && apt-get install -y ca-certificates
RUN update-ca-certificates
Or in docker-compose.yml:
services:
n8n:
image: n8nio/n8n
volumes:
- /etc/ssl/certs:/etc/ssl/certs:ro
environment:
- NODE_EXTRA_CA_CERTS=/etc/ssl/certs/ca-certificates.crt
For npm/Direct Installation:
Ubuntu/Debian:
sudo apt-get update
sudo apt-get install -y ca-certificates
sudo update-ca-certificates
CentOS/RHEL:
sudo yum install ca-certificates
sudo update-ca-trust
For Corporate Networks (If Behind Proxy):
If you’re behind a corporate firewall with SSL inspection:
- Get your corporate root certificate
- Add it to Node.js trusted certificates:
export NODE_EXTRA_CA_CERTS=/path/to/corporate-root-cert.pem
In Docker:
environment:
- NODE_EXTRA_CA_CERTS=/certs/corporate-cert.pem
volumes:
- ./corporate-cert.pem:/certs/corporate-cert.pem:ro
Why This Happens:
Airtable uses SSL certificates signed by trusted Certificate Authorities (CAs). Your n8n instance needs the full certificate chain to validate the connection. Missing system CA certificates or corporate SSL inspection can break this chain.
Testing the Fix:
After applying the solution, test with:
curl https://api.airtable.com/v0/meta/bases
If curl works but n8n still fails, restart your n8n container/process completely.
Alternative: Use Airtable Personal Access Token
If you’re using API Key, try switching to Personal Access Tokens (newer method):
- Airtable → Account → Developer hub → Personal access tokens
- Create token with
data.records:read and schema.bases:read scopes
- Update n8n credentials to use the token
Let me know which deployment method you’re using (Docker, npm, etc.) and I can provide more specific configuration!