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 행을 제거해야합니까 아니면 그냥 그대로 두어야합니까?
고맙습니다.