Я развернул приложение Meteor в DO Droplet с помощью MeteorUp. Я настроил виртуальные хосты Apache для этого сайта следующим образом:

<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»: ошибка во время рукопожатия WebSocket: непредвиденный код ответа: 400

ошибка на моей консоли. Я прогуглил это и нашел множество решений (в основном вариации этого же VHosts), но безуспешно.

Все остальное, кажется, работает отлично, за исключением этой ошибки (которую я еще не чувствовал из-за этого, потому что это приложение еще не использует веб-сокеты).

Я не уверен, как мне это исправить. Я использую Apache 2.4.7 на Ubuntu 32bit, и у меня включены прокси, proxy_connect, proxy_http, proxy_wstunnel.

РЕДАКТИРОВАТЬ: Это должно быть связано с тем, как настроен прокси, потому что, если я указываю свой браузер на машину и порт, на котором он работает, эта ошибка не возникает.

Как крошечный бонусный вопрос, используя сервер nodejs, я должен удалить строку DocumentRoot файла или просто оставить ее там?

Спасибо.

1 ответ1

0

Для меня .. просто добавив следующее в ..sites-enabled ..(ubuntu+apache), сработало для меня:

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

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

Убедитесь, что вы добавляете на сайты с включенными, а не с сайтами

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .