<n8n version: 2.20.7
Basedatos: SQLite (predeterminado)
Ejecución mediante: Docker (autohospedado, Ubuntu 24.04 en DigitalOcean)
Proxy inverso: nginx con SSL mediante Certbot/Let’s Encrypt
Problema:
Tengo dos instancias de n8n autohospedadas:
Producción: n8n.revvittsystems.com — OAuth de Gmail funciona perfectamente, incluida la creación de nuevas credenciales
Stagin: staging.revvittsystems.com — OAuth de Gmail falla con Error 400: redirect_uri_mismatch cada vez
Ambas instancias ejecutan n8n 2.20.7 en Docker con proxy inverso nginx. Ambas utilizan la misma aplicación OAuth de Google Cloud (mismo ID de cliente/Secreto). También intenté crear un cliente OAuth completamente separado solo con el URI de redireccionamiento de staging — mismo error.
Lo que he confirmado:
El URI de redireccionamiento que se muestra en la interfaz de usuario de n8n staging es https://staging.revvittsystems.com/rest/oauth2-credential/callback
Este URI exacto está registrado en Google Cloud Console bajo URI de redireccionamiento autorizados
Decodifiqué la URL de error de Google y confirmé que el redirect_uri que n8n envía es https://staging.revvittsystems.com/rest/oauth2-credential/callback — coincide exactamente
X-Forwarded-Proto $scheme está configurado en nginx para que n8n genere correctamente el prefijo https://
La aplicación se publica en Producción en la pantalla de consentimiento OAuth de Google
Probado en ventana incógnita — mismo error
Crear una nueva credencial en producción funciona inmediatamente — la aplicación OAuth de Google en sí está bien
Crear un cliente OAuth completamente nuevo solo para staging también falla con el mismo error
Archivo .env de staging:
N8N_HOST=staging.revvittsystems.com
N8N_PORT=5678
N8N_PROTOCOL=https
WEBHOOK_URL=https://staging.revvittsystems.com/
N8N_EDITOR_BASE_URL=https://staging.revvittsystems.com
GENERIC_TIMEZONE=America/New_York
Configuración nginx de staging:
server {
listen 443 ssl;
server_name staging.revvittsystems.com;
ssl_certificate /etc/letsencrypt/live/staging.revvittsystems.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/staging.revvittsystems.com/privkey.pem;
large_client_header_buffers 4 16k;
location / {
proxy_pass http://localhost:5678;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection ‘upgrade’;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_buffer_size 16k;
proxy_buffers 4 16k;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Nota adicional: Al iniciar sesión como propietario/cuenta de administrador en staging, hacer clic en «Iniciar sesión con Google» genera un error 414 URI Too Long en su lugar (error conocido de n8n donde los ámbitos de administrador se añaden a la URL). Crear desde una cuenta de miembro no administrador supera el error 414 pero se encuentra con el redirect_uri_mismatch.
Pregunta: ¿Qué más podría causar redirect_uri_mismatch cuando el URI está confirmado como correcto y coincide exactamente? ¿Hay algo específico sobre el flujo OAuth de n8n 2.20.7 que pudiera causar esto en una instancia nueva?
Describe el problema/error/pregunta
¿Cuál es el mensaje de error (si lo hay)?
Por favor, comparte tu flujo de trabajo
(Selecciona los nodos en tu lienzo y usa los atajos de teclado CMD+C/CTRL+C y CMD+V/CTRL+V para copiar y pegar el flujo de trabajo.)
Comparte el resultado devuelto por el último nodo
Información sobre tu instalación de n8n
- Versión de n8n:
- BasedDatos (predeterminado: SQLite):
- Configuración N8N_EXECUTIONS_PROCESS de n8n (predeterminado: own, main):
- Ejecutar n8n mediante (Docker, npm, n8n cloud, aplicación de escritorio):
- Sistema operativo: