当前位置: 首页 > 知识库问答 >
问题:

Azure上的节点,Express API应用程序提供容器启动失败错误

双元魁
2023-03-14

我有一个现有的节点和Express API应用程序,我正在尝试将其部署到Azure WebApps。部署进展顺利。但是当我尝试访问API时,什么都没有发生。当我检查日志时,我看到以下内容:

    const config = require('./common/config/env.config.js');

const express = require('express');
const app = express();
const bodyParser = require('body-parser');

const AuthorizationRouter = require('./auth/routes.config');
const LeadsRouter = require('./leads/routes.config');
const DemoRouter = require('./demo/routes.config');
const MentorRouter = require('./mentors/routes.config');



app.use(function (req, res, next) {
    res.header('Access-Control-Allow-Origin', '*');
    res.header('Access-Control-Allow-Credentials', 'true');
    res.header('Access-Control-Allow-Methods', 'GET,HEAD,PUT,PATCH,POST,DELETE');
    res.header('Access-Control-Expose-Headers', 'Content-Length');
    res.header('Access-Control-Allow-Headers', 'Accept, Authorization, Content-Type, X-Requested-With, Range, x-access-token');
    if (req.method === 'OPTIONS') {
        return res.send(200);
    } else {
        return next();
    }
});

app.use(bodyParser.json());
AuthorizationRouter.routesConfig(app);
LeadsRouter.routesConfig(app);
DemoRouter.routesConfig(app);
MentorRouter.routesConfig(app);



app.listen(config.port, function () {
    console.log('app listening at port %s', config.port);
});

这就是我的环境。配置文件看起来:

 module.exports = {        "port": 3600,        
//"appEndpoint": "http://localhost:3600",        
//"apiEndpoint": "http://localhost:3600",        
"appEndpoint": "https://chdemoapi.azurewebsites.net:3600",       
 "apiEndpoint": "https://chdemoapi.azurewebsites.net:3600",       
 "jwt_expiration_in_seconds": 36000,        
"environment": "dev",    
};

这是我的package.json文件的样子:

{"name": "ch-demo-services",      
"version": "1.0.0",      
"description": "microservices for demo module",      
"main": "index.js",      
"start":"node index.js",      
"scripts": {"test": 
"echo \"Error: no test specified\" && exit 1"},      
"author": "",      "license": "ISC",      
"dependencies": { "express": "^4.17.1", "generate-password": "^1.5.1",        
"jsonwebtoken": "^8.5.1",        "mailgen": "^2.0.13",        "moment": "^2.27.0",        "mongoose": 
"^5.9.18",        "nodemailer": "^6.4.10",        "uuid": "^8.1.0"      }    }    

在应用程序设置中,我还添加了网站\u端口:3600。在我的localhost中,我访问API的方式如下:http://localhost:3600/listDemoSlotsAfter部署到Azure时,我尝试访问它们,如下所示:https://chdemoapi.azurewebsites.net:3600/listDemoSlots.但是什么也没发生,我看到上面的日志。我的设置有什么问题。

共有1个答案

麹渊
2023-03-14

从你的错误消息来看,是端口问题。

Azure Web App服务仅支持http端口80和https端口443。建议更换https://chdemoapi.azurewebsites.net:3600https://chdemoapi.azurewebsites.net:443。然后重新启动应用程序。

 类似资料:
  • 我有一个Azure应用服务运行我自己的基于PHP的docker映像(mcr.microsoft.com/appsvc/php: 7.4-apache_20201229.1) 部署到服务作品和网站按预期运行() 我希望能够使用持久性存储来保存失败/web应用程序重新启动时的数据。。。 我想使用内置的持久化存储,并将应用程序设置,使用docker compose如下: 但是,在更改此设置并停止/启动w

  • 首先,我知道有几个类似的问题,我尝试了答案中的建议,但没有帮助。 我有一个ASP。NET核心web应用程序作为Linux容器运行。该应用程序在本地构建并运行良好。部署到Azure时,应用程序无法启动,我可以看到以下错误: 站点mytestapp的容器mytestapp_0_560a15e8未在预期时间限制内启动。运行时间=230.4559912秒 容器mytestapp_0_560a15e8未响应

  • 我正在部署一个web应用程序,它在Azure应用程序服务上使用NodeJS、Express和React(插入我的BitBucket repo),但我没有发现成功。要么部署失败,要么声称部署成功,但该站点无法访问,并且一直超时。当我在Azure诊断中检查Docker日志时,我注意到以下几点: 在几个读取

  • 当我运行这个错误时,请帮助我解决这个问题 启动应用程序上下文时出错。要显示条件,请报告启用“调试”后重新运行应用程序。2019-02-11 10:53:55.839错误8804 --- [ restartedMain]o. s. b. d.日志失败分析记者: 应用程序启动失败 说明: com中的字段userDao。实例Spring Security应用程序编程接口。服务UserServiceImp

  • 我尝试过使用以下启动命令,两个命令都成功地启动了应用程序,正如_default_docker中报告的那样。但应用程序服务正在停止容器,因为端口8080的HTTP ping没有得到响应。 生态系统配置。js文件-在本地运行良好,并在端口8080上成功启动了web应用程序,我已将该文件上载到/应用程序服务中的site/wwwroot/文件夹。 *_默认的码头工人。日志 *_码头工人。日志 我曾尝试在A

  • 我是spring的初学者,希望这样做示例项目…我有一个数据库,我想连接到它…我使用了像AutoWired和service这样的注释。但有个问题我解决不了 Controller包中的RegisterationController具有我要调用的服务: 第一个包中的DataManagement类: 第一包中的StudentAccountRepository: 第一包中得学生帐户..引用数据库中的表: M