Puncte:0

„Bad Request” atunci când trimiteți cererea către aplicația Socket.IO prin Apache

drapel ni

Ceea ce am

eu am Priză.IO aplicația în mod literal de la șablon

const express = require('express');
const app = expres();
const http = require('http');
const server = http.createServer(app);
const { Server } = require("socket.io");
const io = server nou(server);

io.on('conexiune', (socket) => {
  console.log('un utilizator conectat');
});

server.listen(3000, () => {
  console.log('ascult pe *:3000');
});

Si am configurat Apache

<VirtualHost *:443>
  ServerName ws.domain.com
 
  ProxyPreserveHost On
  ProxyPass / http://127.0.0.1:3000/
  ProxyPassReverse / http://127.0.0.1:3000/

  SSLEngine on
  SSLCertificateFile /root/origin.pem
  SSLCertificateKeyFile /root/private.key
</VirtualHost>

Când încerc să trimit cerere prin Postman către localhost:3000 totul funcționează

introduceți descrierea imaginii aici

introduceți descrierea imaginii aici

Dar când încerc să trimit cerere către ws.domain.com Primesc mereu 400 Solicitare greșită

introduceți descrierea imaginii aici

introduceți descrierea imaginii aici

Ce am încercat

  1. Am încercat să configurez Apache de la docs asta nu m-a ajutat
  2. Am încercat să folosesc Nginx si l-am configurat din docs nici nu m-a ajutat
  3. Am încercat să rescriu pe server Balon cu PySocketIO si de asemenea cu balon-socketio, și obține aceeași eroare

Sunt deja complet disperat și nu înțeleg care este problema.

P.S. Dacă acest lucru poate fi important, folosesc CentOS 7. Proxy domeniul prin intermediul Cloudflare și acolo sunt bineînțeles conectate websocket-urile

P.S.S. Toate celelalte aplicații ale mele HTTP de pe server funcționează corect (prin Apache), problema este doar în websocket-uri

Puncte:0
drapel ni

Răspunsul s-a dovedit a fi foarte prozaic. După cum sa dovedit, front-end-ul avea versiunea 2 a Socket.IO, iar pe server 4. Actualizarea pachetelor a ajutat la rezolvarea problemei

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.