Error 403 Forbidden: qué significa y cómo solucionarlo
Punto clave
Un error 403 Forbidden significa que el servidor entendió tu solicitud y se niega a atenderla: la página existe, pero no tienes permiso para verla. Las palabras bajo el mensaje (nginx, Apache, Cloudflare, Access Denied) nombran el software que te rechazó. Como visitante solo puedes descartar tu parte (una VPN, otra red, las cookies); el bloqueo en sí es un ajuste del sitio: permisos de archivos, un archivo index que falta, una regla deny o un firewall.
Compruébelo ahora

Empiece a leer
- ¿Qué es un error 403 Forbidden?
- Cómo se ve un error 403
- 403 vs 401 vs 404: ¿cuál es la diferencia?
- Causas comunes del error 403 Forbidden
- Cómo solucionar el 403 como visitante
- 1. Verifica la URL
- 2. Limpia la caché y cookies del navegador
- 3. Desactiva tu VPN o proxy
- 4. Prueba una red o dispositivo diferente
- Cómo solucionar el 403 como administrador del sitio
- 5. Corrige los permisos de archivos y directorios
- 6. Revisa las reglas de .htaccess
- 7. Agrega un archivo index predeterminado
- 8. Desactiva los plugins de WordPress
- 9. Verifica el bloqueo de IP y las reglas del firewall
- 10. Revisa las reglas de HTTPS y de certificado de cliente
- 11. Soluciona Cloudflare 403 / Error 1020
- 12. Soluciona Nginx 403 Forbidden
- Depuración de errores 403 con HTTP Headers
- ¿Afecta un error 403 al SEO?
- Cómo prevenir errores 403
- Preguntas frecuentes
¿Qué es un error 403 Forbidden?
Un error 403 Forbidden significa que el servidor entendió tu solicitud y se niega a atenderla: la página existe, pero no tienes permiso para verla. A diferencia de un 404, el servidor sabe exactamente qué pediste. Si la página muestra «nginx» o «Apache» bajo el mensaje, es solo el software que usa el sitio: la negativa es un ajuste de ese sitio, no de tu navegador.
El estándar HTTP, RFC 9110 §15.5.4, lo define con esas palabras: el servidor «understood the request but refuses to fulfill it» (entendió la solicitud pero se niega a cumplirla). Si enviaste credenciales, el servidor las considera insuficientes, y un cliente «SHOULD NOT automatically repeat the request with the same credentials» (no debería repetir automáticamente la solicitud con las mismas credenciales). Un servidor también puede responder 404 para ocultar que la página existe.
En pocas palabras: la puerta existe, pero no tienes permiso para cruzarla. Como visitante solo puedes descartar tu propia parte; como dueño del sitio puedes cambiar la regla.
¿Es un 403 para todos? Compruébalo desde varios lugares
Cómo se ve un error 403
Las palabras de la página 403 y el nombre del servidor debajo indican qué software te rechazó y, por tanto, quién puede solucionarlo:
| Lo que dice la página | Quién te rechazó | Qué suele significar |
|---|---|---|
| 403 Forbidden con nginx (o nginx/1.27.4, angie, openresty) debajo | El servidor nginx del sitio (Angie y OpenResty se basan en nginx) | Una regla deny, un bloqueo de tu IP, país o VPN, archivos ilegibles o una carpeta sin archivo index |
| El encabezado Forbidden y You don't have permission to access this resource. (no tienes permiso para acceder a este recurso) con una línea Apache/2.4 | El servidor Apache del sitio | Una regla Require all denied o Deny from, a menudo en .htaccess, o los permisos de archivos |
| 403 - Forbidden: Access is denied. | Microsoft IIS | Permisos de carpeta, o un subestado como 403.4 (se requiere HTTPS) |
| 403 Forbidden con LiteSpeed Web Server | LiteSpeed (habitual en hosting compartido) | Reglas de seguridad del hosting, permisos o .htaccess |
| Sorry, you have been blocked (Has sido bloqueado) con un Ray ID de Cloudflare | Una regla WAF de Cloudflare que puso el dueño del sitio | Tu solicitud coincidió con una regla del firewall: país, reputación de la IP, una regla de bots |
| Error 1020: Access denied (Acceso denegado) con un Ray ID | Otra función de seguridad de Cloudflare | Una regla de bloqueo sin página personalizada (la documentación de Cloudflare da como ejemplos el esquema de API y las comprobaciones JWT) |
| Access Denied. You don't have permission to access … on this server. Reference #18… | El firewall perimetral de Akamai | Tu IP, red, VPN o patrón de solicitudes fue bloqueado antes de llegar al sitio |
| 403 ERROR. The request could not be satisfied. (No se pudo satisfacer la solicitud) Generated by cloudfront | Amazon CloudFront / AWS WAF | Una regla WAF o una restricción por país |
| Your access to this site has been limited by the site owner (El dueño del sitio ha limitado tu acceso) | Wordfence (un plugin de seguridad de WordPress) | El plugin bloqueó tu IP o tu solicitud; solo el dueño puede desbloquearla |
Sea cual sea la redacción, el significado es el mismo: este servidor no te va a dar esta página. Una extensión del navegador o una cookie caducada rara vez lo causan, pero tu dirección IP, tu red o tu VPN sí pueden ser el motivo.
403 vs 401 vs 404: ¿cuál es la diferencia?
Estos tres códigos de error se confunden con frecuencia. Así es como se diferencian.
| Código de estado | Significado | ¿Se puede arreglar? | Ejemplo |
|---|---|---|---|
| 401 Unauthorized | Necesitas iniciar sesión primero | Sí — proporciona credenciales válidas | Acceder al panel de administración sin iniciar sesión |
| 403 Forbidden | Iniciaste sesión pero no tienes permiso | Depende — el servidor te está bloqueando | Intentar acceder a archivos de otro usuario |
| 404 Not Found | La página no existe | Verifica la ortografía de la URL | Visitar una página eliminada o con errores de escritura |
La diferencia clave: un error 401 te dice que te autentiques. Un error 403 te dice que la autenticación no ayudará — el servidor ya decidió que no puedes acceder a este recurso. Un 404 significa que el recurso no existe en absoluto.
Si el servidor rechaza la propia solicitud por mal formada, por ejemplo por cookies demasiado grandes o una URL rota, obtienes 400 Bad Request.
Causas comunes del error 403 Forbidden
Entender por qué ocurre un 403 te ayuda a solucionarlo más rápido. Estas son las causas más comunes, divididas según si eres visitante o administrador del sitio.
- Permisos de archivo incorrectos — archivos configurados en 600 o carpetas en 700 bloquean el acceso público
- Reglas .htaccess mal configuradas — directivas deny o reglas mod_rewrite que bloquean solicitudes
- Archivo index faltante — sin index.html o index.php, y el listado de directorio está desactivado
- Bloqueo de IP — reglas del servidor o firewall bloqueando tu dirección IP o país
- VPN, proxy o IP de centro de datos — muchos sitios (streaming, entradas, contenido adulto, banca) bloquean por política los rangos de IP de VPN y de hosting, y una IP de VPN compartida también puede estar en una lista de bloqueo
- Protección contra hotlink — el servidor bloquea enlaces directos a imágenes o archivos desde otros dominios
- Conflictos con plugins de WordPress — plugins de seguridad como Wordfence o iThemes bloqueando solicitudes
- Web Application Firewall (WAF) — Cloudflare, Sucuri o ModSecurity marcando tu solicitud
- Reglas de HTTPS o de certificado de cliente — un servidor que exige HTTPS (IIS 403.4) o un certificado de cliente (IIS 403.7) rechaza las solicitudes que no lo cumplen. Un certificado caducado muestra en cambio una advertencia de privacidad del navegador, no un 403
- Límite de solicitudes (rate limiting) — demasiadas solicitudes desde tu IP en poco tiempo; la mayoría de los servidores responden con 429 Too Many Requests, algunos firewalls con 403
Cómo solucionar el 403 como visitante
Si estás viendo un error 403 en un sitio web que no es tuyo, estos son los pasos a seguir. Están listados en orden — comienza desde arriba.
1. Verifica la URL
La solución más simple suele ser la correcta. Asegúrate de que estás visitando una URL de página, no una URL de directorio. La mayoría de los servidores bloquean la exploración de directorios por defecto.
Por ejemplo, visitar https://example.com/images/ (una carpeta) devolverá 403 en la mayoría de los servidores, mientras que https://example.com/images/logo.png (un archivo específico) funciona bien. Revisa que no haya errores de escritura y asegúrate de que la URL apunte a una página real.
2. Limpia la caché y cookies del navegador
Tu navegador puede estar enviando cookies obsoletas o tokens de autenticación en caché que el servidor está rechazando. Limpiarlos fuerza una solicitud nueva.
Chrome: Settings → Privacy → Clear browsing data → Cookies + Cached images
Firefox: Settings → Privacy → Clear Data → Cookies + Cache
Safari: Settings → Privacy → Manage Website Data → Remove All
Edge: Settings → Privacy → Clear browsing data → Cookies + CacheDespués de limpiar, cierra y vuelve a abrir tu navegador, luego intenta la URL de nuevo.
3. Desactiva tu VPN o proxy
Las VPN, los proxies y Tor envían tu tráfico desde direcciones IP compartidas en centros de datos. Muchos sitios bloquean esos rangos por completo (sobre todo streaming, venta de entradas, contenido adulto y banca), y una IP compartida que alguien más haya usado de forma abusiva puede estar en una lista de bloqueo.
Desconecta la VPN y recarga. Si la página se abre, el bloqueo es sobre la IP de la VPN: elige otro servidor o deja la VPN apagada para ese sitio. Si no usas VPN, comprueba tu propia IP con ¿Cuál es mi IP? y su reputación con el Verificador de blacklist de IP.
4. Prueba una red o dispositivo diferente
Si el 403 persiste, cambia a una red diferente (datos móviles en vez de Wi-Fi, o viceversa). Esto ayuda a determinar si tu dirección IP está siendo bloqueada.
También puedes probar con un dispositivo o navegador diferente. Si la página carga en un navegador pero no en otro, el problema probablemente está relacionado con datos en caché o extensiones del navegador, no con un bloqueo de IP.
Cómo solucionar el 403 como administrador del sitio
Si los visitantes reportan errores 403 en tu sitio — o los estás viendo tú mismo — la solución casi siempre está en la configuración del servidor. Revisa estos puntos en orden.
5. Corrige los permisos de archivos y directorios
Los permisos de archivo incorrectos son la causa número uno de errores 403 en servidores web. Los permisos estándar para un servidor web son 755 para directorios y 644 para archivos.
Esto es lo que significan esos números: el primer dígito es el permiso del propietario, el segundo es el grupo y el tercero es todos los demás. 7 = leer + escribir + ejecutar, 5 = leer + ejecutar, 4 = solo lectura.
# Fix directory permissions (755 = owner rwx, group rx, others rx)
find /var/www/html -type d -exec chmod 755 {} \;
# Fix file permissions (644 = owner rw, group r, others r)
find /var/www/html -type f -exec chmod 644 {} \;
# Verify ownership (should match your web server user)
ls -la /var/www/html/
# Change ownership to web server user if needed
chown -R www-data:www-data /var/www/html/6. Revisa las reglas de .htaccess
En servidores Apache, el archivo .htaccess controla las reglas de acceso. Una sola línea mal configurada puede bloquear a todos los visitantes. Busca directivas Deny from all o reglas Require demasiado restrictivas.
La forma más rápida de probar: renombra .htaccess a .htaccess.bak temporalmente. Si el 403 desaparece, el problema está en ese archivo.
# Temporarily rename .htaccess to test
mv /var/www/html/.htaccess /var/www/html/.htaccess.bak
# If 403 goes away, check the file for deny rules:
grep -i 'deny\|require\|allow' /var/www/html/.htaccess.bak
# Common problematic lines:
# Deny from all
# Require all denied
# Order deny,allowSi el sitio funciona sin .htaccess, revisa el archivo línea por línea. Busca directivas Deny from all o Require all denied que puedan estar bloqueando tráfico legítimo. Reemplázalas con reglas específicas que solo bloqueen lo que deseas bloquear.
7. Agrega un archivo index predeterminado
Cuando un visitante solicita una URL de directorio (como example.com/blog/) sin especificar un archivo, el servidor busca un archivo index predeterminado. Si no existe y el listado de directorios está desactivado, obtienes un 403.
La solución: crea un archivo index.html o index.php en cada directorio de acceso público. También puedes configurar el servidor para permitir el listado de directorios, pero esto generalmente representa un riesgo de seguridad.
# In .htaccess or Apache config — set default index files
DirectoryIndex index.html index.php index.htm
# If you want to allow directory listing (not recommended for production):
Options +Indexes8. Desactiva los plugins de WordPress
Plugins de seguridad como Wordfence, iThemes Security, Sucuri y All In One WP Security pueden provocar errores 403 al bloquear solicitudes que consideran sospechosas. Esto ocurre con frecuencia después de una actualización de plugin o cambio de reglas.
Para probar, renombra la carpeta de plugins vía FTP o SSH para desactivar todos los plugins a la vez.
# Disable all plugins by renaming the folder
mv /var/www/html/wp-content/plugins /var/www/html/wp-content/plugins.bak
# If 403 goes away, re-enable plugins one by one:
mv /var/www/html/wp-content/plugins.bak /var/www/html/wp-content/plugins
# Then deactivate/reactivate each plugin from WordPress adminSi el 403 desaparece, vuelve a activar los plugins uno por uno para encontrar el culpable. Revisa los registros del firewall o seguridad del plugin para ver las solicitudes bloqueadas.
9. Verifica el bloqueo de IP y las reglas del firewall
El firewall de tu servidor o el panel de control del hosting puede estar bloqueando direcciones IP específicas, rangos o países enteros. Esto es común con fail2ban, CSF (ConfigServer Security & Firewall) o listas de bloqueo de IP a nivel de hosting.
Revisa las reglas del firewall y los registros del servidor para ver si IPs legítimas están siendo bloqueadas.
# Check if an IP is blocked by iptables
iptables -L -n | grep "203.0.113.50"
# Check fail2ban jail status
fail2ban-client status
# Unban a specific IP
fail2ban-client set <jail-name> unbanip 203.0.113.50
# Check Apache deny rules in server config
grep -r 'Deny from\|Require not ip' /etc/apache2/10. Revisa las reglas de HTTPS y de certificado de cliente
Un 403 relacionado con TLS ocurre en dos casos: el servidor exige HTTPS y la solicitud llegó por HTTP simple (IIS lo informa como 403.4, «SSL required»), o el servidor exige un certificado de cliente que el visitante no presentó (IIS 403.7; reglas de Apache basadas en SSLVerifyClient). Un certificado caducado o incorrecto muestra en cambio la advertencia de privacidad del navegador, nunca un 403.
Compara los dos esquemas para la misma URL y comprueba el propio certificado con el Verificador SSL de DNS Robot:
# Same page over HTTP and HTTPS: a 403 on one only points at a scheme rule
curl -sI http://example.com/page | head -1
curl -sI https://example.com/page | head -111. Soluciona Cloudflare 403 / Error 1020
Detrás de Cloudflare, un 403 puede venir de Cloudflare y no de tu servidor, y su página indica qué función se activó. Una regla WAF personalizada o administrada muestra «Sorry, you have been blocked»; otras funciones de seguridad con la acción Block y sin página personalizada muestran Error 1020: Access denied (documentación de Cloudflare, actualizada en octubre de 2026). Ambas incluyen un Ray ID.
Pide al visitante una captura con el Ray ID y búscalo (o su IP) en el panel, en Security → Analytics → Events: el evento nombra la regla exacta. Ajusta esa regla en lugar de bajar la seguridad en todo el sitio.
- Security → WAF — revisa las reglas personalizadas, verifica si rutas legítimas están siendo bloqueadas
- Security → Analytics → Events — encuentra el Ray ID (las marcas de tiempo están en UTC) y mira qué regla provocó el bloqueo
- Security → Bots — Bot Fight Mode puede bloquear rastreadores legítimos y clientes API
- Security Level — si está configurado en 'I'm Under Attack', todos los visitantes ven una página de desafío
- IP Access Rules — verifica que tu IP o país no estén bloqueados accidentalmente
12. Soluciona Nginx 403 Forbidden
Nginx devuelve 403 por varios problemas de configuración específicos. El más común: el proceso worker de Nginx no tiene permiso de lectura sobre los archivos, o la directiva autoindex está desactivada para un directorio sin archivo index.
# Check Nginx error log for the exact cause
tail -f /var/log/nginx/error.log
# Common Nginx 403 causes and fixes:
# 1. Permission denied — Nginx runs as 'nginx' or 'www-data' user
# Fix: ensure the user running Nginx can read the files
chown -R nginx:nginx /var/www/html/
# 2. No index file in directory — add to server block:
location / {
index index.html index.php;
}
# 3. SELinux blocking access (CentOS/RHEL)
setsebool -P httpd_read_user_content 1
# Or set proper context:
chcon -R -t httpd_sys_content_t /var/www/html/SELinux es una causa frecuentemente pasada por alto de errores Nginx 403 en sistemas CentOS y RHEL. Incluso si los permisos de archivo son correctos, SELinux puede bloquear al proceso Nginx de leer archivos. El comando chcon anterior soluciona esto.
Depuración de errores 403 con HTTP Headers
Cuando no puedes determinar la causa, inspecciona los encabezados de respuesta HTTP del servidor. A menudo contienen pistas sobre por qué se bloqueó la solicitud.
Usa el Verificador de encabezados HTTP de DNS Robot o curl desde la terminal para ver la respuesta completa.
# Check the status line and headers of a 403 page
curl -I https://example.com/restricted-page
# Headers that name the system in the path:
# server: cloudflare + cf-ray: 8f3a...-LAX → Cloudflare
# server: AkamaiGHost → Akamai
# server: CloudFront + x-amz-cf-id → Amazon CloudFront
# x-sucuri-id → Sucuri firewall
# x-iinfo → Imperva
# server: nginx / Apache / LiteSpeed → the site's own web serverUna cabecera de CDN o firewall en un 403 significa que el bloqueo ocurrió antes de que la solicitud llegara a tu servidor, así que busca en el registro de eventos de ese servicio; el nombre de tu propio servidor web significa que la regla está en la configuración del servidor, en .htaccess o en un plugin.
¿Afecta un error 403 al SEO?
Sí, los errores 403 pueden perjudicar tu posicionamiento si afectan a páginas rastreables. Google no indexa las URL que devuelven un código 4xx (salvo 429) y elimina las que ya estaban indexadas.
Unos pocos errores 403 en páginas intencionalmente restringidas (paneles de administración, archivos privados) son normales y no afectarán tu SEO. Pero las páginas públicas que devuelven 403 salen del índice de Google.
El informe «Indexación de páginas» de Search Console las muestra como «Se ha bloqueado debido a que el acceso no está permitido (403)». Googlebot nunca envía credenciales, así que un 403 en una página pública significa que un firewall o una regla de bots lo está bloqueando.
Cómo prevenir errores 403
La prevención es más fácil que la solución de problemas. Sigue estas prácticas para evitar errores 403 en tu sitio.
- Configura los permisos correctos desde el inicio — 755 para directorios, 644 para archivos, nunca 777
- Siempre ten un archivo index — cada directorio público necesita index.html o index.php
- Prueba los cambios en .htaccess — respalda el archivo antes de modificarlo, prueba una regla a la vez
- Monitorea tus reglas WAF — revisa los registros de Cloudflare, Sucuri o ModSecurity semanalmente
- Agrega tus propias IPs a la lista blanca — asegúrate de que las IPs de tu oficina, casa y servidor de despliegue estén en la lista blanca
- Usa el Verificador de encabezados HTTP — verifica regularmente que tus páginas devuelvan 200, no 403
- Configura monitoreo — usa monitoreo de uptime para recibir alertas cuando las páginas comiencen a devolver 403
¿Es un 403 para todos o solo para ti?
Pasa la página por el Verificador de páginas caídas gratuito de DNS Robot: consulta desde varios lugares a la vez y muestra el estado que recibe cada uno. Un 403 en todas partes es una regla del sitio; un 403 solo para ti es tu red, tu VPN o tu IP.
Fuentes
- RFC 9110: HTTP Semantics, §15.5.4 403 Forbidden, IETF
- Error 1020 (Cloudflare 1xxx errors), Cloudflare
- How HTTP status codes, and network and DNS errors affect Google Search, Google Search Central
Preguntas frecuentes
¿Qué significa 403 Forbidden?
¿Qué significa «403 Forbidden nginx»?
¿Qué significa «Forbidden» con «You don't have permission to access this resource»?
¿Cómo soluciono un error 403 Forbidden?
¿403 Forbidden significa que estoy bloqueado?
¿Por qué me sale 403 Forbidden con una VPN?
¿Cuál es la diferencia entre 403 y 401?
¿Por qué Cloudflare muestra 403 Error 1020?
¿Qué permisos de archivo corrigen un error 403?
¿Un error 403 puede afectar el SEO?
Artículos relacionados
Herramientas relacionadas
Comprobador de Páginas Caídas
¿La página está caída para todos o solo para usted? Compruebe cualquier web desde 11 lugares y desde su conexión, con una captura en vivo
Verificador de encabezados HTTP
Analiza cabeceras de respuesta HTTP y clasificación de cabeceras de seguridad
Verificador de Certificado SSL
Verifica la validez y detalles de seguridad del certificado SSL
Consulta DNS
Todos los registros DNS desde los servidores del dominio, junto a la caché de Google y Cloudflare
Verificador de Puertos
Prueba la conectividad de puertos y disponibilidad de servicios



