Я пытаюсь использовать Apache в качестве обратного прокси-сервера для моего сервера Jetty, запускающего cometd.mod_proxy_wstunnel с cometd running on jetty
Моя установка работает следующим образом:
Apache(HTTPS) --> Jetty(HTTP)
Вот конф файл Apache
<VirtualHost *:443>
ServerAdmin [email protected]
ServerName y.domain.com
ProxyPass/http://localhost:8888/
ProxyPassReverse/http://localhost:8888/
ProxyPass /ws/ ws://localhost:8888/
ProxyPass /wss/ wss://localhost:8888/
ProxyRequests Off
ProxyVia On
Timeout 1500
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15
<Proxy *>
Order deny,allow
Deny from all
Allow from all
</Proxy>
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/localhost.crt
SSLCertificateKeyFile /etc/apache2/ssl/localhost.key
SSLCertificateChainFile /etc/apache2/ssl/ca.crt
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On
</VirtualHost>
На клиенте я использую cometd.js.
Однако я получаю эту ошибку на клиенте во время рукопожатия
Error during WebSocket handshake: Unexpected response code: 400
Этот адрес wss://y.domain.com
После этого клиент пытается снова и сайт вверх - но я боюсь, что рукопожатие с длинным опросом ...
Что мне не хватает?
Apache перед Jetty является известной производительностью и возможностей узким местом, вы можете объяснить, почему вы чувствуете необходимость использовать настройки? –
хорошо, мое приложение использует 4 разных виртуальных хоста, которые работают на одном сервере. Некоторые из них используют локальный apache, а некоторые используют apache в качестве обратного прокси. Поскольку я хочу, чтобы все они работали с SSL с портом 443, Apache/NGINX кажется лучшим вариантом. Если я запускаю Jetty в собственном режиме (с портом 443), тогда мне нужно перейти на 2 разных машины, которые я бы хотел получить. – Stimpy