Я пытаюсь соединиться со своим websocket сервером с помощью html 5 websockets. Прямое подключение хорошо работает, но когда я пытаюсь скрыть свой сервер позади апачского прокси, это не работает.
это заканчивается:
var ws = new WebSocket("wss://www.example.com/generator/wss/");
undefined
WebSocket connection to 'wss://www.example.com/generator/wss/' failed: Error during WebSocket handshake: Invalid status line
но если я соединяюсь непосредственно с wss://www.example.com:9002 затем, он работает...
Вот моя апачская конфигурация:
<VirtualHost *:80>
ServerName www.example.com
ServerAdmin me@example.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Redirect permanent / https://www.example.com/
</VirtualHost>
<VirtualHost *:443>
ServerName www.example.com
ServerAdmin me@example.com
SetEnv EXAMPLE_SERVER_ENVIROMENT production
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS"
SSLCertificateFile /etc/ssl/certs/apache/www.example.crt
SSLCertificateKeyFile /etc/ssl/certs/apache/private.key
SSLCertificateChainFile /etc/ssl/certs/apache/sub.class1.server.sha2.ca.pem
ProxyPass /generator/wss wss://127.0.0.1:9002/
ProxyPassReverse /generator/wss wss://127.0.0.1:9002/
ProxyPreserveHost On
ProxyRequests Off
ProxyVia On
DocumentRoot /opt/example/prod/public
<Directory "/opt/example/prod/public">
Order allow,deny
AllowOverride All
Allow from all
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Какая-либо идея, почему это не работает?Спасибо
خوب ، بنابراین من نمی دانم که دقیقاً کجای خطا بود ، اما وقتی apache2 را از 2.4.7 به 2.4.16 ارتقا دادم ، این در حال کار است ...