Socket.io с iisnode https windows server 2012 - PullRequest
0 голосов
/ 16 июня 2020

Добрый день всем, у меня проблема поднять безопасный сокет, я читал и пробовал много решений, но у меня ни одно не помогло, подробно описываю характеристики:

  • Сервер: Windows Server 2012 R2 Standard
  • Тип системы: 64-битная
  • Версия IIS: 8.5
  • Версия узла: 6.12.0

На сервере сертификат для https, приложил мою конфигурацию сокета и web.config

Server. js

const express = require("express");
const https = require("https");
var bodyParser = require("body-parser");
const socketIO = require("socket.io");
require('events').EventEmitter.defaultMaxListeners = 0
const app = express();
var server = https.createServer({ 
                key: fs.readFileSync('certs/extra/file.pem'),
                cert: fs.readFileSync('certs/extra/file.crt')
             },app);
const io = socketIO(server);

io.on("connection", socket => {
    try {
        console.log("new id:" + socket.id);
    } catch (ex) {
        console.log(ex)
    }
});
app.get("/", function(req, res) {
    res.send("<h1>SOCKET TEST</h1>");
});

app.post('/api/users/list', function (req, res) {
    res.send('Testing route path')
});
server.listen(process.env.PORT, "192.168.4.23");

Web.config

  <system.webServer>
    <handlers>
      <add name="iisnode" path="server.js" verb="*" modules="iisnode" />
    </handlers>
    <rewrite>
      <rules>
        <rule name="myapp">
           <match url="api/*" />
          <action type="Rewrite" url="server.js" />
        </rule>
        <rule name="myapp3">
           <match url="/*" />
          <action type="Rewrite" url="server.js" />
        </rule>
        <rule name="myapp2">
           <match url="socket.io"/>
          <action type="Rewrite" url="server.js" />
        </rule>
      </rules>
    </rewrite>
     <webSocket enabled="true" />
  </system.webServer>
</configuration>

IIS

Конфигурация IIS

Ответ при попытке подключения Ответ изображения при попытке подключения

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