Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

864
Views
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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!