Клиент socket.io не подключается через https - PullRequest
0 голосов
/ 19 июня 2020

, так что в настоящее время я работаю над проектом, который был развернут на экземпляре Amazon aws EC2, и проблема, с которой я столкнулся, заключается в том, чтобы заставить socket.io работать на https. Проблема в том, что клиент не подключается. Сокеты нормально работают локально на экземпляре EC2. Как только я перехожу на https, он перестает работать. Что мне следует сделать иначе, чтобы мне помочь.

Вот мой код.

На стороне клиента:

const socket = socketIOClient("url:5020", {secure: true, path: 'socket/socket.io'} )

На стороне сервера:

const https       = require( "https" );
const httpsPort   = 5020;
const httpsServer = https.createServer({
    "key" : fs.readFileSync( "/home/ubuntu/keys/privatekey.pem" ),
    "cert": fs.readFileSync( "/home/ubuntu/keys/certkey.pem" ),
});
httpsServer.listen( httpsPort, function() {
    console.log(  `Listening HTTPS on ${httpsPort}` );
});
const io = require('socket.io')(httpsServer, {
  path: '/socket/socket.io'
});

Nginx config:

server {
  listen 443;
  ssl on;
  ssl_certificate .../cert.pem;
  ssl_certificate_key .../privatekey.pem;
  ssl_protocols TLSv1.2 TLSv1.1 TLSv1;


  server_name example.co;

  access_log /var/log/access.log;

  error_log /var/log/error.log;

  # react
  root ../build;
  index index.html index.htm;
  location / {
        try_files $uri /index.html =404;
  }


  # node api reverse proxy
  location /api/ {
    proxy_pass http://localhost:5000/;
    proxy_redirect off;
    proxy_set_header Host $host ;
    proxy_set_header X-Real-IP $remote_addr ;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for ;
    proxy_set_header X-Forwarded-Proto https;
  }

  location /socket/ {
    proxy_pass http://localhost:5020/;
    proxy_redirect off;
    proxy_set_header Host $host ;
    proxy_set_header X-Real-IP $remote_addr ;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for ;
    proxy_set_header X-Forwarded-Proto https;
  }

}

Спасибо за помощь!

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