Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

872
Vistas
Laravel-Websockets, Nginx, Docker, Apache Mesos y más en esta pila: error 404

Cuando configuramos laravel-websockets localmente en docker, todo funcionó maravillosamente; sin embargo, cuando todo se puso a prueba, surgieron problemas. En consecuencia, tenemos que dividir nuestro sitio principal en un servidor y el servidor websocket en un servidor diferente. Todos estos sitios están en una red interna corporativa y no usan SSL.

Entonces, la aplicación principal es Laravel 6 que se ejecuta en Centos, Apache 2.4 y PHP 7.3. Puede conectarse al servidor websocket, pero cada vez que laravel transmite un evento, obtenemos un error 404 para este punto final:

apps/XXXXXX/events?auth_key=XXXXXXX&auth_signature=XXXXXXX&auth_timestamp=XXXX&auth_version=1.0&body_md5=XXXXX

El servidor websocket es Centos, PHP 7.3, Nginx 1.8 configurado como proxy inverso utilizando el archivo conf de ejemplo de spaties/behindcodes.

 map $http_upgrade $type { default "web"; websocket "ws"; } server { listen 80; server_name XXXXXXXXX; root /opt/rh/rh-nginx18/root/usr/share/nginx/www/public; add_header X-Frame-Options "SAMEORIGIN"; add_header X-XSS-Protection "1; mode=block"; add_header X-Content-Type-Options "nosniff"; index index.html index.htm index.php; charset utf-8; location / { try_files /nonexistent @$type; } location @web { try_files $uri $uri/ /index.php?$query_string; } location = /favicon.ico { access_log off; log_not_found off; } location = /robots.txt { access_log off; log_not_found off; } error_page 500 502 503 504 404 /index.php; location ~ \.php$ { fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; include fastcgi_params; } location @ws { proxy_pass http://127.0.0.1:6001; proxy_set_header Host $host; proxy_read_timeout 60; proxy_connect_timeout 60; proxy_redirect off; # Allow the use of websockets proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } location ~ /\.(?!well-known).* { deny all; } }

Todo mi equipo es nuevo en nginx, por lo que pensamos que probablemente haya un problema allí u otra cosa que hayamos configurado incorrectamente. Sabemos que nuestros eventos y la transmisión dentro de la aplicación principal de laravel son correctos, porque funcionó cuando todo se ejecutaba en un solo clúster de Apache. Nuestro problema era que la empresa no abriría un puerto en el firewall que no sea 80 y 443. Estamos optando por dividir el tráfico en 80 con nginx según la documentación de beyondcode.

Tiene alguna idea sobre esto? Estamos perdidos. ¡Gracias a todos!

Editar:

Debo agregar que estamos usando Laravel Echo con Pusher.JS para el front-end:

 import Echo from 'laravel-echo'; window.Pusher = require('pusher-js'); window.Echo = new Echo({ broadcaster: 'pusher', key: process.env.MIX_PUSHER_APP_KEY, wsHost: 'XXXXXXXXXX', wsPort: 80, disableStats: true });
over 4 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda