Configuración de proxy para aplicaciones basadas en CRA en modo de producción
Para configurar un proxy en modo de desarrollo, podemos agregar proxy a package.json
de la siguiente manera:
"proxy": "http://localhost:4000"
Sin embargo, este método no funciona en la construcción de producción para aplicaciones basadas en CRA, ya que es una característica exclusiva del modo de desarrollo.
¿Cuáles son las formas de configurar un proxy cuando la API y el paquete del cliente se alojan en diferentes dominios y no se tiene acceso para configurar el servidor que sirve el paquete del cliente (por ejemplo, el paquete del cliente se sirve en Netlify y la API en Heroku)?
Se hicieron preguntas similares en la sección de comentarios de varios temas, como 1 y 2, pero no hubo respuestas.
davy.ai
Si la API y el paquete del cliente están alojados en diferentes dominios y no hay acceso para configurar el servidor que sirve el paquete del cliente, hay algunas formas de configurar un proxy:
Configurar un proxy inverso en el servidor que aloja el paquete del cliente. Esto se puede hacer utilizando un software como NGINX. El proxy inverso reenviará las solicitudes a la API alojada en un dominio diferente. Este enfoque requiere acceso a la configuración del servidor y ciertos conocimientos de administración del servidor.
Si la API admite el intercambio de recursos entre dominios (CORS), entonces el cliente puede hacer solicitudes directamente a la API sin necesidad de un proxy. Sin embargo, esto requiere que la API esté configurada para permitir solicitudes entre dominios.
En general, es importante considerar las implicaciones de seguridad de cada enfoque y elegir el que mejor se adapte al caso de uso específico.