When i use the vite (bottom layer is node-http-proxy) to start a http-server and proxy the request to target server, ETIMEDOUT problem occurs frequently.

Abierto
#1,622 2 comentarios 1 reacción 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
25/100
Tipo de issue
Error
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
javascript, node.js

Línea de trabajo

Comienza con la configuración de proxy de Vite indicada y las solicitudes a /stomp y /api; después, sigue cómo node-http-proxy abre la conexión con el destino y gestiona ETIMEDOUT en macOS y Windows. Reproduce el comportamiento bajo las condiciones indicadas de HDD y red más lenta; el trabajo se considera terminado cuando se haya identificado una causa fiable y se haya documentado o probado el comportamiento resultante.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

In vite, I was trying to start a http server with following code

server: {
    open: true,
    proxy: setupProxy()
  }

const setupProxy = () => {
  const backendAddr = 'http://192.168.50.213:8180/'

  const wsOptions = {
    target: backendAddr,
    ws: true
  }
  const httpOptions = {
    target: backendAddr,
    changeOrigin: true
  }
  return {
    '/stomp': wsOptions,
    '/api': httpOptions,
    '/pub': httpOptions,
    '/docs': httpOptions
  }
}

According to the vite document, Its bottom layer uses node-http-proxy.
My problem is that my target server is sure to be accessible, but it will encounter proxy timeout problems from time to time.

Error: connect ETIMEDOUT 192.168.50.213:8180
    at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1300:16)
3:23:48 PM [vite] http proxy error at /stomp/info?t=1670657002883:
Error: connect ETIMEDOUT 192.168.50.213:8180
    at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1300:16)
3:23:48 PM [vite] http proxy error at /stomp/info?t=1670657002882:
Error: connect ETIMEDOUT 192.168.50.213:8180
    at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1300:16)
3:23:48 PM [vite] http proxy error at /api/settings/hiddenMenuPaths:
Error: connect ETIMEDOUT 192.168.50.213:8180

What I can offer is that this problem will not occur when my target server deploys on a ssd, which is, the access speed is very fast.
When I deploy the server on a hdd or when the network environment is more complicated, which is, the access speed is not so fast, but definitely not slow, problem returns.
All my colleagues who use Mac have this problem, but all my colleagues who use Windows don't.
Based on the above phenomenon, I doubt whether there are some special configurations for the mac version of nodejs, such as the default timeout time, fault tolerance or automatic retry mechanism, which causes frequent timeout problems when the target server apis are slightly slower.

Lenguaje dominante
JavaScript
Estrellas
14.1k
Forks
2k
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de http-party/node-http-proxy

Todos los issues de http-party/node-http-proxy

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.