Настройка сервера Centrifugo с виртуальным хостом apache и ssl - PullRequest
1 голос
/ 04 октября 2019

Я знаю, что большинство людей делают это задом наперед (от apache до nginx), но на сервере, на котором размещен этот проект, есть другие проекты с конкретными конфигурациями, так что ... лучше придерживаться того, что у нас есть

Что яя пытаюсь выполнить миграцию конфигурации виртуального хоста nginx, для сервера обмена сообщениями centrifugo golang, на apache2.4 из документа пример

Это то, что у меня есть

#### This part it's commented because the server says it has incorrect syntax
# <Proxy "balancer://centrifugocluster"> {
    # Enumerate all upstream servers here, in case you want to clusterize

    # BalancerMember http://127.0.0.1:8000 # default host and port, change it if need it
    # BalancerMember http://127.0.0.1:8001;
# </Proxy>
# ProxyPass / balancer://centrifugocluster/



<VirtualHost *:80>
    ServerName centrifugo.MY_HOSTING.com
    Redirect permanent ^(.*) https://centrifugo.MY_HOSTING.com/$1
</VirtualHost>

<IfModule mod_ssl.c>
    <VirtualHost *:443>
        ServerName centrifugo.MY_HOSTING.com

        SSLEngine On
        SSLCertificateFile /PATH/TO/CRT/FILE.crt
        SSLCertificateKeyFile /PATH/TO/KEY/FILE.key
        SSLCertificateChainFile /PATH/TO/CHAIN/FILE.crt

        <Location "/connection/">
            # Required for websockets
            RewriteEngine on
            RewriteCond %{HTTP:Upgrade} =websocket [NC]
            RewriteCond %{HTTP:Connection} upgrade [NC]
            RewriteRule /connection/(.*) http://127.0.0.1:8000/connection/$1 [P,L]
        </Location>

        <Location "/">
            ProxyPass         http://127.0.0.1:8000/
            ProxyPassReverse  http://127.0.0.1:8000/
        </Location>

        ErrorLog ${APACHE_LOG_DIR}/PATH/SERVER_LOG/FILE.log
        CustomLog ${APACHE_LOG_DIR}/PATH/ACCESS_LOG/FILE.log combined

        #### This part I'm not sure how to translate it
        ErrorDocument 500 "Server Error 500"
        ErrorDocument 502 "Server Error 502"
        ErrorDocument 503 "Server Error 503"
        ErrorDocument 504 "Server Error 504"

    </VirtualHost>
</IfModule>

на сервере установлены apache2.4 и ubuntu18, конфигурация centrifugo

{
  "secret": "SECRET",
  "admin_password": "PASSWORD",
  "admin_secret": "ADMIN-SECRET",
  "api_key": "API-KEY",
  "engine": "memory",
  "admin": true,
  "debug": true,
  "log_level": "debug"
}

текущее поведение

  • URL-адрес, на который он успешно перенаправлен на https, с другими проектами хорошо работаетКонфигурация ssl
  • все пути к каталогам проверены и правильны
  • , но он говорит 404 page not found
  • при попытке в браузере centrifugo.MY-HOST.com показывает эту ошибку 404
  • когда я пытаюсь использовать библиотеку websocat (извне сервера) websocat ws://centrifugo.MY-HOST.com/connection/websocket он говорит WebSocketError: Received unexpected status code. Error running
  • когда я пытаюсь использовать библиотеку websocat (изнутри сервера, я имею в виду, что подключенssh) websocat ws://localhost:8000/connection/websocket зависает... (ожидая сообщений, я верю)
  • сервер centrifugo подключен и прослушивает порт 8000, проверил с помощью netstat и супервизор говорит running
  • Я изменил 127.0.0.1 на localhostв конфиге centrifugo и виртуальном хосте добавили documentRoot к пути проекта apache и ничего ...

что я делаю не так?

1 Ответ

1 голос
/ 07 октября 2019

Неважно, это была моя ошибка в конфигурации супервизора. У меня было это:

[program:centrifugo]
command=sudo /var/www/centrifugo-server/centrifugo
autostart=true
autorestart=true
stderr_logfile=/var/log/centrifugo.error.log
stdout_logfile=/var/log/centrifugo.output.log

Я поместил файл конфигурации с полным путем к нему и удалил sudo, и он работает как шарм

command=/var/www/centrifugo-server/centrifugo --config=/var/www/centrifugo/config.json

Iоставьте это здесь на случай, если это может кому-нибудь помочь

В любом случае, если кто-то знает, как перевести конфигурацию балансировщика на виртуальный хост, эта часть все еще отсутствует, спасибо

...