• Portada
    • Recientes
    • Usuarios
    • Registrarse
    • Conectarse

    Problema con proxy de Apache

    Programado Fijo Cerrado Movido
    Software
    3
    4
    889
    Cargando más mensajes
    • Más antiguo a más nuevo
    • Más nuevo a más antiguo
    • Mayor número de Votos
    Responder
    • Responder como tema
    Accede para responder
    Este tema ha sido borrado. Solo los usuarios que tengan privilegios de administración de temas pueden verlo.
    • cobitoC
      cobito Administrador
      Última edición por cobito

      Buenas,

      Durante esta semana he recibido el aviso de tres usuarios de la sección de videos diciendo que no pueden subir videos. Haciendo algunas pruebas he comprobado que si el tiempo de carga del video es superior a 60 segundos, se produce un error de conexión entre Apache y Peertube (NodeJS). El error es el siguiente:

      [proxy:error] [pid xxx] (32)Broken pipe: [client xxx.xxx.xxx.xxx:59835] AH01084: pass request body failed to 127.0.0.1:9001 (127.0.0.1), referer: https://video.hardlimit.com/videos/upload
      

      y a continuación, este:

      [proxy_http:error] [pid xxx] [client xxx.xxx.xxx.xxx:59835] AH01097: pass request body failed to 127.0.0.1:9001 (127.0.0.1) from xxx.xxx.xxx.xxx (), referer: https://video.hardlimit.com/videos/upload
      

      Sobre el primer error, unas veces sale ese y otras este otro:

      [proxy:error] [pid xxx] (104)Connection reset by peer: [client xxx.xxx.xxx.xxx:58520] AH01084: pass request body failed to 127.0.0.1:9000 (127.0.0.1), referer: https://video.hardlimit.com/videos/upload
      

      La aparición de uno u otro es aleatoria.

      Esto tiene toda la pinta de que se está produciendo por un timeout así que he añadido a la configuración de Apache esto:

      Timeout 900
      ProxyTimeout 900
      KeepAliveTimeout 600
      

      Pero no soluciona nada. En la configuración del virtualhost, he añadido timeouts al proxy de esta forma:

      ProxyPass /           http://127.0.0.1:9000/ timeout=600
      ProxyPassReverse / http://127.0.0.1:9000/ timeout=600
      

      Pero nada. Para terminar, he modificado el parámetro de configuración del kernel "/proc/sys/net/ipv4/tcp_fin_timeout" que casualmente tenía un valor de 60, pero al cambiarlo por 120 no hay ningún cambio.

      Revisando los logs, aparentemente esto ha estado sucediendo desde siempre, pero casualmente, la inmensa mayoría de videos que se han subido hasta ahora, no superaban ese tiempo de subida. Tampoco estoy 100% seguro de que ese timeout fuera antes superior y que alguna actualización lo haya cambiado. La verdad es que es demasiada casualidad que justo 3 personas se quejen la misma semana de lo mismo, pero en fin.

      La gente de Peertube no da soporte a Apache, así que como último recurso desesperado, me tocará probar con Nginx (algo que, sinceramente, no me apetece nada de nada). Antes de llegar a eso, si hay por aquí algún docto en cuestiones apachísticas que me pueda dar un poco de luz, se lo agradecería mucho.

      Toda la actualidad en la portada de Hardlimit
      Mis cacharros

      hlbm signature

      1 Respuesta Última respuesta Responder Citar 2
      • cobitoC
        cobito Administrador
        Última edición por

        Bueno, pues definitivamente algo ha cambiado en la última semana. Uno de los afectados había subido en el pasado videos que han tardado en torno a media hora en transferirse. Mirando los logs de APT (algo que tenía que haber hecho antes para dejar de sospechar de Apache) veo que el domingo pasado actualicé NodeJS, así que parece el candidato perfecto de haberla liado parda.

        Para solucionarlo, al final he instalado Nginx, así que a partir de ahora, todas las páginas de Hardlimit pasan por ese servidor web. Con esto, se ha solucionado el problema.

        La razón por la que creo que se soluciona es que cuando se usaba Apache, al subir un video, este se iba copiando conforme se iba recibiendo a la carpeta temporal de Peertube. Con Nginx, el archivo primero se mete en un buffer del servidor y cuando ha terminado de recibirse, se transfiere a la carpeta temporal de Peertube. Por eso, con Nginx no da timeouts; porque el tiempo de transferencia interno es mucho menor que el externo.

        Así que con todo esto, estoy un 99% seguro de que ha sido la maldita actualización de NodeJS, donde por alguna razón, han introducido a pelo un timeout de 60 segundos para las conexiones. Y esto en realidad es un fallo, porque además de fastidiarnos a los díscolos que habíamos preferido evitar Nginx hasta ahora, la velocidad interna es también limitada y al final, el tamaño máximo del archivo será el que de tiempo a transferir en esos 60 segundos.

        Toda la actualidad en la portada de Hardlimit
        Mis cacharros

        hlbm signature

        1 Respuesta Última respuesta Responder Citar 1
        • FassouF
          Fassou MODERADOR
          Última edición por

          Resuelves el problema, desvelas el misterio y encima te metes en otro proyecto. Menudo tío 😎

          Al final te veo aprendiendo ruso 😉

          Salu2! / Ура

          Intel i5 3570k / ASRock Z77 Extreme 4 / G.Skill F3-12800CL9D-8GBRL / Sapphire HD5850 / Samsung HD103UJ / TR TrueSpirit / NZXT Source 210 / OCZ ZS550W
          Intel i5 4570 / ASRock H87 Pro 4 / 2x G.Skill F3-14900CL8-4GBXM / Samsung 850 EVO 250Gb + ST1000DM003 + ST2000DM003 + HGST HDS723020BLA642 + Maxtor 6V250F0 / CM Seidon 240M / Zalman MS800 / CM MWE 550
          AMD Ryzen 7 1800X / B350 / 2x8GB Samsung DDR4-2400 CL17 / NVIDIA GTX 1070 8GB / SSD 120GB + ST4000DM004 + ST6000DM003 / EVGA Supernova 650 G2

          hlbm signature

          1 Respuesta Última respuesta Responder Citar 2
          • YorusY
            Yorus Veteranos HL
            Última edición por

            Para mí Apache siempre es un misterio, cuando me he liado con el, y ya hace tiempo, nunca se como ha conseguido funcionar 😂

            Mi centro de operaciones
            Mi blog en HL

            hlbm signature

            1 Respuesta Última respuesta Responder Citar 2
            • 1 / 1
            • First post
              Last post

            Foreros conectados [Conectados hoy]

            0 usuarios activos (0 miembros e 0 invitados).
            febesin, pAtO,

            Estadísticas de Hardlimit

            Los hardlimitianos han creado un total de 543.3k posts en 62.8k hilos.
            Somos un total de 34.7k miembros registrados.
            sridharpat ha sido nuestro último fichaje.