diff --git a/config.js b/config.js index e605e73..c6c8ed3 100644 --- a/config.js +++ b/config.js @@ -57,6 +57,8 @@ let outGoing = { let inComing = { //Порт сервера входящих сообщений nPort: 8080, + //IP-адрес сервера приложений (0.0.0.0 - все доступные) + sHost: "0.0.0.0", //Максимальный размер входящего сообщения (мб) nMsgMaxSize: 10, //Каталог размещения статических ресурсов diff --git a/core/app.js b/core/app.js index 756e0cf..77f3e4e 100644 --- a/core/app.js +++ b/core/app.js @@ -113,11 +113,12 @@ class ParusAppServer { else await this.onInQStopped(); } //При запуске обработчика входящих сообщений - async onInQStarted(nPort) { + async onInQStarted(nPort, sHost) { //Сообщим, что запустили обработчик await this.logger.info( - `Обработчик очереди входящих сообщений запущен (порт - ${nPort}, доступные IP - ${getIPs().join("; ")})` + `Обработчик очереди входящих сообщений запущен (порт - ${nPort}, доступные IP - ${sHost === "0.0.0.0" ? getIPs().join("; ") : sHost})` ); + //Запускаем //Запускаем модуль отправки уведомлений await this.logger.info("Запуск модуля отправки уведомлений..."); try { diff --git a/core/in_queue.js b/core/in_queue.js index 78c77b8..cb2f519 100644 --- a/core/in_queue.js +++ b/core/in_queue.js @@ -78,7 +78,7 @@ class InQueue extends EventEmitter { //Уведомление о запуске обработчика очереди notifyStarted() { //Оповестим подписчиков о запуске - this.emit(SEVT_IN_QUEUE_STARTED, this.inComing.nPort); + this.emit(SEVT_IN_QUEUE_STARTED, this.inComing.nPort, this.inComing.sHost); } //Уведомление об остановке обработчика очереди notifyStopped() { @@ -442,7 +442,7 @@ class InQueue extends EventEmitter { res.status(500).send(makeErrorText(new ServerError(SERR_WEB_SERVER, err.message))); }); //Запускаем сервер - this.srv = this.webApp.listen(this.inComing.nPort, "0.0.0.0", () => { + this.srv = this.webApp.listen(this.inComing.nPort, this.inComing.sHost, () => { //И оповещаем всех что запустились this.notifyStarted(); }); diff --git a/models/obj_config.js b/models/obj_config.js index 63fa321..44c0848 100644 --- a/models/obj_config.js +++ b/models/obj_config.js @@ -259,6 +259,16 @@ const inComing = new Schema({ `Порт сервера входящих сообщений (${path}) должен быть целым числом в диапазоне от 0 до 65535` } }, + sHost: { + type: String, + required: true, + message: { + type: path => + `IP-адрес сервера приложений (${path}) имеет некорректный тип данных (ожидалось - String)`, + required: path => `Не указан IP-адрес сервера приложений (${path})` + } + + }, //Максимальный размер входящего сообщения (мб) nMsgMaxSize: { type: Number,