Node.js socket.io с https на 3000 портов - PullRequest
0 голосов
/ 03 июня 2018

Я хочу запустить node.js и socket.io по https.Я перенаправляю запросы, поступающие с server.example.com, на http://example.com:3000

<VirtualHost server.example.com:80>
    ProxyPass / http://example.com:3000/
</VirtualHost>

И таким образом я могу получить доступ к файлу socket.io.js

https://server.example.com/socket.io/socket.io.js

Чтобы проверить часть node.js, напечатайте socket.id в консоли.

Изображение: http://prntscr.com/jq81bz

Здесь находится сторона клиента, я подключаюсь к socket.io таким способом.

Изображение: http://prntscr.com/jq830z

Клиент подключается к серверу node.js и печатает socket.id.Но в консоли браузера произошло много ошибок.Я думаю, что клиент хочет подключиться снова из-за ошибок.

Изображение: http://prntscr.com/jq82ib <- консоль сервера слева </p>

Эти журналы напечатаны только для одного подключения.

1 Ответ

0 голосов
/ 05 июня 2018

Ваши настройки apache должны быть изменены следующим образом.

<VirtualHost *:443>
     ServerName mysite.com
     ServerAlias www.mysite.com

     SSLEngine on
     SSLProxyEngine On
     ProxyRequests Off

     SSLCertificateFile /etc/apache2/ssl/mysite.com.crt
     SSLCertificateKeyFile /etc/apache2/ssl/mysite.com.key
     SSLCertificateChainFile /etc/apache2/ssl/ca.cer

     DocumentRoot /var/www/errorPages

     ErrorDocument 503 /503.html
     ProxyPass /503.html !

     ProxyPass / http://localhost:3000/
     ProxyPassReverse / http://localhost:3000/


     RewriteEngine on
     RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
     RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]
     RewriteRule .* ws://localhost:3000%{REQUEST_URI} [P]


</VirtualHost>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...