Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Use esta guía para diagnosticar y corregir problemas comunes del proxy de desarrollo. Comience con su síntoma y trabaje con las preguntas de diagnóstico para encontrar la solución.
Síntoma: El proxy de desarrollo no intercepta solicitudes
Ha iniciado Dev Proxy, pero las solicitudes de su aplicación no se muestran en la salida de Dev Proxy. Siga estas preguntas para identificar la causa.
¿Se está ejecutando el proxy de desarrollo?
Compruebe que Dev Proxy se está ejecutando y está listo para interceptar solicitudes.
Qué buscar:
Después de iniciar Dev Proxy, debería ver una salida similar a la siguiente:
info Dev Proxy API listening on http://127.0.0.1:8897...
info Dev Proxy listening on 127.0.0.1:8000...
Hotkeys: issue (w)eb request, (r)ecord, (s)top recording, (c)lear screen
Press CTRL+C to stop Dev Proxy
Si no ve esta salida:
- Compruebe que el proxy de desarrollo está instalado correctamente mediante la ejecución de
devproxy --version - Si recibe un error, vuelva a instalar el proxy de desarrollo.
¿Está Dev Proxy registrado como proxy del sistema?
El proxy de desarrollo debe estar registrado como proxy del sistema para interceptar las solicitudes automáticamente. Si no es así, las solicitudes de la aplicación omiten completamente el proxy de desarrollo.
Cómo comprobar en macOS:
- Abrir red de configuración del> sistema
- Selección de la conexión de red activa
- Vaya a Detalles...>Proxies
- Busque Proxy HTTP seguro (HTTPS) establecido en
127.0.0.1:8000
Cómo comprobar Windows:
- Abrir Configuración>Red e Internet>Proxy
- En Configuración manual del proxy, compruebe que el servidor proxy está establecido en .
127.0.0.1:8000
Si el Dev Proxy no está registrado como proxy del sistema:
Compruebe la configuración del proxy de desarrollo. Ejecute devproxy config para abrir el archivo de configuración y comprobar que no contiene:
{
"asSystemProxy": false
}
Si esta configuración existe y se establece en false, quítelo o establézcalo en true, y luego reinicie Dev Proxy.
¿Está viendo las direcciones URL correctas?
El proxy de desarrollo solo intercepta las solicitudes a las direcciones URL que coinciden con patrones en la urlsToWatch configuración.
Cómo realizar la comprobación:
- Mira el output de inicio del proxy de desarrollo para ver la lista de direcciones URL monitorizadas.
- Compárelos con la dirección URL a la que llama la aplicación
Problemas comunes:
-
Faltan comodines:
https://api.example.comno coincide conhttps://api.example.com/users. Usehttps://api.example.com/*en su lugar. - Dominio incorrecto: compruebe el nombre de dominio, incluidos los subdominios.
- HTTP frente a HTTPS: asegúrese de que el protocolo coincide
Para probar el patrón de dirección URL:
devproxy --urls-to-watch "https://your-api.com/*"
A continuación, realice una solicitud a la API y compruebe si el proxy de desarrollo lo registra.
¿Usa el archivo de configuración correcto?
El proxy de desarrollo podría estar usando un archivo de configuración diferente al esperado.
Cómo busca el proxy de desarrollo los archivos de configuración:
- Si especifica
--config-file, el proxy de desarrollo usa ese archivo - De lo contrario, Dev Proxy busca
devproxyrc.jsonen el directorio actual. - Si no se encuentra, el proxy de desarrollo usa la configuración predeterminada.
Para comprobar qué archivo de configuración se está usando:
Ejecuta el proxy de desarrollo con registro de depuración:
devproxy --log-level debug
Busque la salida que muestra qué archivo de configuración se carga.
Para especificar explícitamente un archivo de configuración:
devproxy --config-file ./my-config.json
¿Estás usando Dev Proxy con una aplicación de Node.js?
Node.js no usa automáticamente la configuración del proxy del sistema. Debe configurar la aplicación de Node.js para que use explícitamente el proxy.
Solution:
Use el global-agent paquete o configure su biblioteca HTTP para usar el proxy. Consulte Uso del proxy de desarrollo con aplicaciones de Node.js para obtener instrucciones detalladas.
Corrección rápida con global-agent:
Instale global-agent:
npm install global-agentAgregue al punto de entrada de la aplicación:
import { bootstrap } from 'global-agent'; bootstrap();Inicie la aplicación con variables de entorno de proxy:
NODE_TLS_REJECT_UNAUTHORIZED=0 GLOBAL_AGENT_HTTP_PROXY=http://127.0.0.1:8000 node app.js
¿Usa el proxy de desarrollo con PowerShell en Windows?
PowerShell no usa automáticamente la configuración del proxy del sistema para las solicitudes web realizadas con Invoke-WebRequest o Invoke-RestMethod.
Solution:
Configurar PowerShell para usar el proxy estableciendo el parámetro -Proxy.
Invoke-WebRequest -Uri "https://api.example.com/data" -Proxy "http://127.0.0.1:8000"
O bien, establezca el proxy para toda la sesión:
$env:HTTPS_PROXY = "http://127.0.0.1:8000"
$env:HTTP_PROXY = "http://127.0.0.1:8000"
Si usa PowerShell 7 y versiones posteriores, también puede usar:
[System.Net.WebRequest]::DefaultWebProxy = New-Object System.Net.WebProxy("http://127.0.0.1:8000")
Otras plataformas y marcos
Si usa otras plataformas, consulte estas guías:
| Plataforma | Guía |
|---|---|
| Aplicaciones .NET | Uso del proxy de desarrollo con aplicaciones .NET |
| Aplicaciones de .NET 4.8 | Las aplicaciones de .NET 4.8 requieren una configuración especial |
| Contenedores de Docker | Uso del proxy de desarrollo en un contenedor de Docker |
| SharePoint Framework | Uso del proxy de desarrollo con SPFx |
Síntoma: las solicitudes se interceptan pero pasan sin cambios
El proxy de desarrollo muestra las solicitudes en la salida, pero no se están modificando, falseando ni devolviendo errores de prueba.
¿Están habilitados los complementos?
Compruebe que los complementos que desea usar están habilitados en la configuración.
Cómo realizar la comprobación:
Abra el archivo de configuración y compruebe que:
- El complemento aparece en la
pluginsmatriz. - El complemento tiene
"enabled": true
{
"plugins": [
{
"name": "GenericRandomErrorPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
}
]
}
¿Los complementos están en el orden correcto?
El orden del plugin es importante en el proxy de desarrollo. Los complementos se ejecutan en el orden en que aparecen y algunos complementos podrían detener el procesamiento antes de que otros se ejecuten.
Problema común:
Si tienes MockResponsePlugin antes de GenericRandomErrorPlugin, y un mock coincide con la solicitud, el complemento de error aleatorio nunca se ejecuta.
Solution:
Organice complementos en el orden en que desee que procesen solicitudes. Para obtener más información, vea ¿Por qué no se producen errores aleatorios al usar simulacros?.
¿El patrón de dirección URL simulada coincide con la solicitud?
Para las respuestas ficticias, el patrón de dirección URL debe coincidir exactamente con la dirección URL de la solicitud.
Cosas que se deben comprobar:
- Parámetros de cadena de consulta:
https://api.example.com/users?id=1no coincidehttps://api.example.com/users - Barras diagonales finales:
https://api.example.com/users/no coincide conhttps://api.example.com/users - Distinción entre mayúsculas y minúsculas: las rutas de acceso de dirección URL distinguen mayúsculas de minúsculas
¿El método de solicitud es correcto?
Los simulacros son específicos del método. Un simulacro de GET solicitudes no coincide con POST.
Cómo realizar la comprobación:
En su archivo de simulación, compruebe que la propiedad method coincida con su solicitud:
{
"request": {
"url": "https://api.example.com/users",
"method": "GET"
},
"response": {
"statusCode": 200,
"body": { "users": [] }
}
}
Síntoma: errores de SSL/certificado en la aplicación
La aplicación produce errores SSL o de certificado al intentar realizar solicitudes a través del Proxy de Desarrollo.
¿Tiene instalado el certificado de proxy de desarrollo?
Dev Proxy usa un certificado autofirmado para descifrar el tráfico HTTPS. El sistema debe confiar en este certificado.
Solution:
Ejecute el comando de instalación del certificado:
devproxy cert ensure
Este comando instala y confiere confianza al certificado del proxy de desarrollo en tu sistema.
¿Es de confianza el certificado?
Es posible que el certificado se instale pero no sea de confianza.
Cómo comprobar en macOS:
- Abrir Keychain Access
- Buscar "Proxy de desarrollo"
- Haga doble clic en el certificado.
- Expandir confianza
- Asegúrese de que Secure Sockets Layer (SSL) esté establecido en Confiar siempre.
Cómo comprobar Windows:
- Ejecute
certmgr.msc: - Vaya a Entidades de certificación raíz de confianza>Certificados
- Busque el certificado de proxy de desarrollador.
Si el certificado no es de confianza:
Quite y vuelva a instalar el certificado:
devproxy cert remove
devproxy cert ensure
¿Usa Node.js?
Node.js no usa el almacén de certificados del sistema de forma predeterminada. Debe elegir entre las siguientes opciones:
Opción 1: Deshabilitar la validación de certificados (solo desarrollo):
NODE_TLS_REJECT_UNAUTHORIZED=0 node app.js
Advertencia
Nunca se usa NODE_TLS_REJECT_UNAUTHORIZED=0 en producción. Deshabilita toda la validación de certificados.
Opción 2: Agregar el certificado de proxy de desarrollo a Node.js:
Exporte el certificado del Proxy Dev y establezca la variable de entorno NODE_EXTRA_CA_CERTS:
NODE_EXTRA_CA_CERTS=/path/to/devproxy-cert.pem node app.js
¿Usa otro entorno de ejecución o marco de trabajo?
Las distintas plataformas controlan los certificados de forma diferente:
| Plataforma | Solución |
|---|---|
| Pitón | Utilice variables de entorno REQUESTS_CA_BUNDLE o SSL_CERT_FILE |
| Java | Importación del certificado en el almacén de claves de Java mediante keytool |
| .NET | Normalmente, el certificado se considera confiable mediante el almacén de confianza del sistema |
| Docker | Montar el certificado y actualizar los certificados CA en el contenedor |
Otros problemas comunes
Se produce un error en todas las solicitudes con el tiempo de espera de la puerta de enlace
Causa:
El proxy de desarrollo no puede acceder a la API de destino.
Solution:
Consulte ¿Por qué fallan todas las solicitudes con error de tiempo de espera de puerta de enlace?
No hay conexión a Internet después de usar el proxy de desarrollo
Causa:
El Proxy de Desarrollo no se desregistra correctamente como proxy del sistema.
Solution:
Consulte ¿Por qué mi conexión a Internet no funciona después de usar el proxy?
Obtención de 429 respuestas inesperadamente
Causa:
Los complementos de limitación de velocidad están habilitados y configurados.
Solution:
Vea ¿Por qué obtengo 429 respuestas?
Errores de base de datos
| Error | Solución |
|---|---|
| Error de inicialización de SqliteConnection | Corrección de la configuración de SQLite |
| "La imagen del disco de base de datos tiene un formato incorrecto" | Recompilación de la base de datos |
Obtener más ayuda
Si no encuentra una solución:
-
Habilitación del registro de depuración: ejecutar
devproxy --log-level debugpara obtener una salida detallada - Buscar incidencias existentes: incidencias de GitHub del proxy de desarrollo
- Solicitar ayuda: Obtener ayuda y soporte técnico