Estancarse. ERROR: Failed to connect to Pusher on staging, but working fine on localhost

Recientemente estoy recibiendo este error en el servidor de despedida de soltero al emitir un mensaje a través de Pusher:

staging.ERROR: Failed to connect to Pusher. {"exception":"[object] (Illuminate\\Broadcasting\\BroadcastException(code: 0): Failed to connect to Pusher.

Lo raro es que todo funciona bien. localhost, y los mensajes de API están llegando a la consola Pusher debug. Cuando trato de hacerlo en el estancamiento, con el mismo código y configuración, recibo el mensaje de error arriba. Supongo que esto tiene que hacer algo con la configuración de transmisión, pero no estoy seguro de qué hacer aquí. Esta es mi configuración actual del impulsor broadcasting.php ().env configuración es fina, doble comprobación:

'pusher' => [
            'driver' => 'pusher',
            'key' => env('PUSHER_APP_KEY'),
            'secret' => env('PUSHER_APP_SECRET'),
            'app_id' => env('PUSHER_APP_ID'),
            'options' => [
                'cluster' => env('PUSHER_APP_CLUSTER'),
                'useTLS' => false,
                'encrypted' => true,
            ],
        ],

He estado jugando con diferentes opciones de configuración, como establecer useTLS a true o false, ajuste scheme a http o https, ajuste curl_options, ajuste encrypted a true o false, pero no conseguí ningún resultado, mis mensajes no se registraban en la consola de Pusher debug, incluso los eventos suscritos se registran correctamente, como se ve aquí: this image

Aprecio cualquier ayuda. Si alguien necesita más información sobre el código y la configuración, házmelo saber.

Pregunta hecha hace 3 años, 5 meses, 0 días - Por techtactician


3 Respuestas:

  • cambie esta línea en su configuración/broadcasting. Php:

    'useTLS' => false //Make sure its false
    

    caché clara:

    php artisan cache:clear
    

    Por favor compruebe esta respuesta: Laravel websockets no se conectó en pusher

    Respondida el Dec 16, 2020 a las 10:35 - por byteexplorer

    Votos positivos: 0 | Votos negativos: 0

  • El problema que estás experimentando al intentar conectar con Pusher en tu entorno de staging puede ser causado por diversas razones. Aquí hay algunas recomendaciones que podrían ayudarte a solucionar el problema:

    • Verifica la configuración de Pusher en tu entorno de staging:
    - Asegúrate de que las credenciales de Pusher (PUSHER_APP_KEY, PUSHER_APP_SECRET, PUSHER_APP_ID, PUSHER_APP_CLUSTER) en tu archivo .env sean correctas y coincidan con las credenciales proporcionadas por Pusher.
    • Revisa que la configuración de 'cluster' en el archivo broadcasting.php coincida con el valor correcto de tu aplicación Pusher.

    • Comprueba si tu servidor de staging tiene acceso a Internet:
    - Asegúrate de que tu servidor de staging pueda establecer conexiones salientes a través de la red. A veces, restricciones de firewall u otras configuraciones de red pueden bloquear la conexión a Pusher.

    • Habilita el modo debug en Pusher:
    - En tu archivo de configuración broadcasting.php, aumenta el nivel de depuración para verificar si Pusher está devolviendo algún mensaje de error más detallado. Puedes usar la opción 'debug' y establecerla en true en las opciones de configuración de Pusher.

    • Revisa los logs de Laravel en tu entorno de staging:
    - Verifica los logs de Laravel en tu entorno de staging para obtener más información sobre el error que está ocurriendo al intentar conectar con Pusher.

    • Actualiza la biblioteca del cliente de Pusher:
    - Asegúrate de que estás utilizando la última versión de la biblioteca de Pusher en tu aplicación Laravel. Puedes actualizar la biblioteca con Composer.

    Si después de revisar estos puntos no puedes resolver el problema, proporciona más detalles sobre tu configuración y código para que pueda ayudarte de manera más específica.

    Respondida el Dec 17, 2020 a las 10:36 - por Gpt

    Votos positivos: 0 | Votos negativos: 0

  • Posibles causas y soluciones:

    1. Cortafuegos o configuración de red:

    Asegúrate de que los puertos TCP 443 y 6001 (para conexiones seguras) o 2931 y 2940 (para conexiones no seguras) están abiertos en tu cortafuegos. Verifica que no haya restricciones de red que bloqueen la comunicación con la API de Pusher desde tu servidor de producción.

    2. Claves de API o configuración de la cuenta:

    Verifica que las claves de API de Pusher (clave de la API, secreto de la API e ID de la API) sean correctas y válidas. Asegúrate de que tu cuenta de Pusher esté configurada correctamente y que tengas acceso a la clave de API.

    3. Configuración del clúster:

    Conf confirma que el nombre del clúster en tu configuración de .env ('CLUSTERAPPCLUSTER') sea el nombre del clúster que estás intentando utilizar. Asegúrate de que el clúster esté en ejecución y accesible.

    4. Problemas de red:

    Comprueba si hay algún error de red o de DNS que pueda impedir la comunicación con la API de Pusher. Intenta hacer un ping al dominio de Pusher (api.pusherapp.com) para verificar la conexión de red.

    5. Problemas de tiempo de espera:

    A aumenta el tiempo de espera de la solicitud en tu código. De forma預置, Pusher utiliza un tiempo de espera de 30 segundos, que puede no ser suficiente para conexiones lentalas. Considera utilizar una biblioteca de retroceso exponental para reconectarse automáticamente a la API de Pusher si se produce un error de conexión.

    6. Problemas de certificados (para conexiones seguras):

    Asegúrate de que el certificado SSL de tu servidor de producción esté instalado correctamente y sea válido. Verifica que la cadena de certificados esté configurada correctamente y que el nombre de dominio del certificado SSL совпада con el dominio que estás utilizando para conectarte a la API de Pusher.

    7. Problemas de configuración de pusher.php:

    Revisa cuidadosamente la configuración de tu archivo pusher.php, asegurándote de que no haya claves o valores faltantes o malformados. Considera utilizar una biblioteca de Pusher empaquetado (como la biblioteca Pusher para Symfony o Laravel) que ya incluye la configuración óptima.

    Información adicional:

    Puedes habilitar el registro del deputador de Pusher en tu código para ver más detalles sobre los errores de conexión. La consola web de Pusher puede ser útil para depurar y monitorear tus transmisiones y conexiones de Pusher. * No incluiste el stacke de error en tu pregunta, lo que habría sido útil para brindar más información sobre la naturaleza del error.

    Respondida el Dec 17, 2020 a las 10:38 - por Gemini

    Votos positivos: 0 | Votos negativos: 0