Добрый день всем, у меня проблема поднять безопасный сокет, я читал и пробовал много решений, но у меня ни одно не помогло, подробно описываю характеристики:
- Сервер: 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
Ответ при попытке подключения Ответ изображения при попытке подключения