Я знаю, что большинство людей делают это задом наперед (от 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 и ничего ...
что я делаю не так?