아파치를 사용하여 유성 websocket 연결에 실패했습니다.


0

MeteorUp을 사용하여 DO Droplet에 Meteor 앱을 배포했습니다. 이 웹 사이트에 대해 아파치 가상 호스트를 다음과 같이 구성했습니다.

<VirtualHost *:80>
    ServerName filipe-garcia.com
    ServerAlias www.filipe-garcia.com

    ServerAdmin me@filipe-garcia.com
    DocumentRoot /var/www/html

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    RewriteEngine On
    RewriteCond %{REQUEST_URI}  ^/sockjs/           [NC]
    RewriteCond %{QUERY_STRING} transport=websocket [NC]
    RewriteRule /sockjs/ ws://localhost:3000/$1     [P,L]

    ProxyPreserveHost On
    ProxyPass / http://localhost:3000/
    ProxyPassReverse / http://localhost:3000/
</VirtualHost>

하지만 난 아직도

WebSocket 연결 대상   'ws : //filipe-garcia.com/sockjs/622/9hwpvs81/websocket'failed : Error   WebSocket 핸드 셰이크 중 예기치 않은 응답 코드 : 400

내 콘솔에서 오류가 발생했습니다. 나는 이것을 봤고 어떤 솔루션이든 (이 동일한 VHosts의 변형)을 발견했다.

그 밖의 모든 것들은이 오류를 제외하고는 완벽하게 작동하는 것처럼 보입니다. (이 앱은 웹 소켓에 아직 의존하지 않아서 아직 아무것도 느껴 보지 못했습니다.)

이 문제를 어떻게 해결해야할지 모르겠습니다. 아파치 2.4.7을 우분투 32 비트에서 실행 중이고 프록시, proxy_connect, proxy_http, proxy_wstunnel을 사용할 수 있습니다.

편집하다 : 브라우저가 컴퓨터를 가리키고 포트가 직접 실행 중이므로이 오류가 발생하지 않기 때문에 프록시가 구성되는 방식과 관련이 있어야합니다.

마찬가지로 작은 보너스 질문 , nodejs 서버를 사용하여 파일의 DocumentRoot 행을 제거해야합니까 아니면 그냥 그대로 두어야합니까?

고맙습니다.


나는 똑같은 문제를 겪었다. 어떻게 해결했는지 말해 줄 수 있니? 플라스틱
Nullpointer

답변:


0

나를 위해 .. 간단히 .. 사이트에 추가 된 .. (우분투 + 아파치) 나를 위해 일한 :

ProxyRequests off
   <Proxy *>
    Order deny,allow
    Allow from all
   </Proxy>

   <Location />
    ProxyPass http://localhost:3000/
    ProxyPassReverse http://localhost:3000/
   </Location>

사이트가 아닌 사이트에 추가 가능 여부 확인 - 사용 가능


흠 .. 시도해 봤어 ... 작동하지 않아요 : BTW, 사이트에 실제로 사용 가능합니다 ... 그래서, 그렇지 않습니다.
fgarci03
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.