Я создал приложение чата в node.js, используя порт 4000. Все работает отлично, но когда я развернул его в работе, я обнаружил, что многие корпоративные сети блокируют исходящий порт 4000. Я подумал об использовании других портов, которые будутболее вероятно, что он будет открыт в корпоративной сети, но затем обнаружил, что этот список портов заблокирован браузером Chrome:
https://superuser.com/questions/188058/which-ports-are-considered-unsafe-by-chrome
Использование таких портов, как 995, приведет к ошибке Chrome "ERR_UNSAFE_PORT "
Итак, похоже, что единственными разрешенными портами являются 80 и 443 для сервера node.js?Каков рекомендуемый метод выбора порта для приложения node.js в производственной среде?
Мой веб-сервер уже использует порты 80 и 443 для типичного веб-обслуживания Apache.Нужно ли создавать выделенный сервер только для node.js?
. Я использую следующий код для инициирования соединения браузера с сервером node.js:
var socket = io.connect('https://duplex.example.com:4000');
иВот код на стороне сервера:
const https = require('https');
const fs = require('fs');
var express = require('express')
, bodyParser = require('body-parser');
var socket = require('socket.io');
var adminid = '';
var clientlist = new Array();
var port = 4000;
const options = {
cert: fs.readFileSync('./fullchain.pem'),
key: fs.readFileSync('./privkey.pem')
};
var app = express();
var server = https.createServer(options, app).listen(port, function(){
console.log("Express server listening on port " + port);
});