websockets
socket.io를 제공하는 웹 소켓은 물리적으로 포트 80에 있어야합니까? 봉사 <code>node.js</code> 및 <code>socket.io</code>를 사용하여
않습니다 socket.io
필요가 포트 80에서 수신 할 수 - 예 websockets
에 대한 실제 포트를, 또는 그것이 다른 포트로 프록시 할 수 있습니다, 포트 8011, 서버에?
브라우저는 websockets
을 사용하여 80/http를 통해 대화합니다. 서버의 haproxy
은 websockets
을 node.js
으로 리디렉션합니다.
오른쪽 haproxy
은 127.0.4.11:80
입니다. 이 잘 작동하지만 실행하려면 sudo
필요합니다.
은 localhost:8011
으로 리다이렉트하지만 websockets
을 올바르게 지원하려면 socket.io
이 포트 80에 실제로 있어야하는지 알 수 없습니다.
하지만 80 이상의 웹 소켓은 다른 동물이기 때문에 복잡한 'http 확장'(?) 핸드 셰이크가 필요합니까? 80을 사용하면 방화벽이 문제가되지 않습니다. 질문은 프록시 인 socket.io가 브라우저가 "정말로"80 일을 염두에두고있는 한 올바르게 작동한다는 것을 알 필요가 있는지 여부입니다. –
마지막 질문에 대한 답은 아니오입니다. 브라우저가 80에서 (동일한 출처 문제를 피하기 위해) 있다고 생각하는 한, 프록시는 어느 포트에 관계없이 정상적으로 작동합니다. – ebohlman