Tomcat -> Iframe -> NodeJs .. SSL - PullRequest
       12

Tomcat -> Iframe -> NodeJs .. SSL

0 голосов
/ 22 марта 2019

У меня следующая архитектура:

1) Tomcat-сервер работает на порте 8080 Когда вызывается URL-адрес, Tomcat предоставляет страницу входа и обрабатывает вход. 2) При успешном входе в систему Tomcat поставляет iframe с приложением NodeJs, которое работает на той же машине, но с портом 3000

.

теперь мне нужно сделать это достижимым с HTTPS, но у меня серьезная проблема с пониманием. Я уже получил ключ / сертификат и Tomcat доступен через modjk .. до тех пор, пока он не заработает нормально.

мое приложение nodejs выглядит так:

var http = require('http');
var https = require('https');
var fs = require('fs');
var app = require('./app');
var ws = require('ws');
var config = require('./config/config'); 

var cfg = config.getCfg('host');

var httpsOptions = {
    key: fs.readFileSync('ssl/mycert.com.key'),
    cert: fs.readFileSync('ssl/mycert.com.crt')
};

// if called with HTTP
if(req.connection.encrypted == 'undefined') {

    var server = http.createServer(app.handleRequest).listen(cfg.nodePort, function ()  {
        console.log('Server running on Port ' + cfg.nodePort);
    });

// if called with HTTPS
} else {

    var server = https.createServer(httpsOptions, app.handleRequest).listen(443, function () {
        console.log('Server running on Port 443');
    });
}

// WEBSOCKET
var wsServer = new ws.Server({server});

wsServer.on('connection', socket => { 

    // on message from client, call function
    socket.on('message', message => {        
        console.log('WS from template <-- ', message);        
        var wsIn = JSON.parse(message);        
        eval(app[wsIn.action])(wsIn.param, socket);  
    });    
}); 

это должно работать .. Я думаю .. Я не могу проверить это, потому что когда я делаю node server.js, я получаю сообщение об ошибке, что порт 443. уже используется.

Ошибка: прослушайте EADDRINUSE: адрес уже используется ::: 443

теперь я действительно запутался :( .. как бы это сделать?

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