Node.js Nodejs Express POST 404在live上未找到错误,正在本地主机上工作

Node.js Nodejs Express POST 404在live上未找到错误,正在本地主机上工作,node.js,express,ubuntu,post,http-status-code-404,Node.js,Express,Ubuntu,Post,Http Status Code 404,我最近在我的live server上更改了我的域(和SSL证书),从那以后我就无法发布到node.js express应用程序 GET工作得很好,POST在localhost上工作,但每当我发送POST请求时,我的live应用程序都会返回404错误 错误堆栈跟踪显示: Error: Not Found at /opt/bitnami/apps/tot/app.js:63:15 at Layer.handle [as handle_request] (/opt/bitnami/ap

我最近在我的live server上更改了我的域(和SSL证书),从那以后我就无法发布到node.js express应用程序

GET工作得很好,POST在localhost上工作,但每当我发送POST请求时,我的live应用程序都会返回404错误

错误堆栈跟踪显示:

Error: Not Found
    at /opt/bitnami/apps/tot/app.js:63:15
    at Layer.handle [as handle_request] (/opt/bitnami/apps/tot/node_modules/express/lib/router/layer.js:95:5)
    at trim_prefix (/opt/bitnami/apps/tot/node_modules/express/lib/router/index.js:317:13)
    at /opt/bitnami/apps/tot/node_modules/express/lib/router/index.js:284:7
    at Function.process_params (/opt/bitnami/apps/tot/node_modules/express/lib/router/index.js:335:12)
    at next (/opt/bitnami/apps/tot/node_modules/express/lib/router/index.js:275:10)
    at allowCrossDomain (/opt/bitnami/apps/tot/app.js:56:5)
    at Layer.handle [as handle_request] (/opt/bitnami/apps/tot/node_modules/express/lib/router/layer.js:95:5)
    at trim_prefix (/opt/bitnami/apps/tot/node_modules/express/lib/router/index.js:317:13)
    at /opt/bitnami/apps/tot/node_modules/express/lib/router/index.js:284:7
    at Function.process_params (/opt/bitnami/apps/tot/node_modules/express/lib/router/index.js:335:12)
    at next (/opt/bitnami/apps/tot/node_modules/express/lib/router/index.js:275:10)
    at SendStream.error (/opt/bitnami/apps/tot/node_modules/serve-static/index.js:121:7)
    at SendStream.emit (events.js:200:13)
    at SendStream.error (/opt/bitnami/apps/tot/node_modules/send/index.js:270:17)
    at SendStream.onStatError (/opt/bitnami/apps/tot/node_modules/send/index.js:421:12)
我有一个非常简单的应用程序:

require('dotenv').config();

const express = require('express');
const app = express();

const helmet = require('helmet');
//const morgan = require('morgan'); //logging requests to console
//const fileUpload = require('express-fileupload');
const bodyParser = require('body-parser');
const mongoose = require('mongoose');
const path = require('path');

const startupDebugger = require('debug')('tot:startup');
const mongoDebugger = require('debug')('tot:mongo');

const port = process.env.WEB_PORT;

// configure middleware
app.set('port', process.env.port || port); // set express to use this port
//app.set('views', __dirname + '/views'); // set express to look in this folder to render our view
app.set('view engine', 'ejs'); // configure template engine
app.use(helmet());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json()); // parse form data client
app.use(express.static(path.join(__dirname, 'public'))); // configure express to use public folder
//app.use(fileUpload()); // configure fileupload

const urlencodedParser = bodyParser.urlencoded({ extended: false })
// --- Routes ---

const {getHomePage} = require('./routes/index');
const {playground} = require('./routes/playground');
const {getMessage} = require('./routes/slack/events-api');
const {getComponent} = require('./routes/slack/interactive-components');
const {renderSurvey} = require('./routes/feedback/survey');
const {score} = require('./routes/feedback/score-api');

app.get('/', getHomePage);
app.get('/playground', playground);

// Slack APIs
app.post('/slack/events-api', getMessage);
app.post('/slack/interactive-components', urlencodedParser, getComponent);

//Feedback
app.get('/feedback/survey/:team_id/:user_id/:question_id/:date', renderSurvey);
app.post('/feedback/score', score);

// catch 404 and forward to error handler
app.use(function(req, res, next) {
    var err = new Error('Not Found');
    err.status = 404;
    console.error(err.stack);
    next(err);
});

app.listen(port, () => { startupDebugger(`Server running on port: ${port}`); });

mongoose.connect(process.env.MONGO, { useNewUrlParser: true })
    .then(() => mongoDebugger('Connected to MongoDB.'))
    .catch(error => mongoDebugger('MongoDB Error: '+error));
下面是/slack/events api的一个示例


    getMessage: async function (req, res) {

        //console.log(req);

        let payload = req.body;

        console.log('Payload:');
        console.dir(payload, {depth: null});

        slackDebugger('Slack Event API Challange Request');

        res.render('slack/events-api.ejs', {
            title: "Slack Bot"
            , output: req.body.challenge
        });
  }
}
当我在当地通过邮递员投递时,效果很好:


    [nodemon] starting `node app.js`
      tot:startup Server running on port: 3000 +0ms
      tot:mongo Connected to MongoDB. +0ms
    Payload:
    { token: 'Jhj5dZrVaK7ZwHHjRyZWjbDl',
      challenge: '3eZbrw1aBm2rZgRNFdxV2595E9CY3gmdALWMmHkvFXO7tYXAYM8P',
      type: 'url_verification' }
      tot:slack Slack Event API Challange Request +0ms

在实时服务器上:

    [nodemon] starting `node app.js`
      tot:startup Server running on port: 3000 +0ms
      tot:mongo Connected to MongoDB. +0ms
    Error: Not Found
        at /opt/bitnami/apps/tot/app.js:63:15
        at Layer.handle [as handle_request] (/opt/bitnami/apps/tot/node_modules/express/lib/router/layer.js:95:5)
        at trim_prefix (/opt/bitnami/apps/tot/node_modules/express/lib/router/index.js:317:13)
        at /opt/bitnami/apps/tot/node_modules/express/lib/router/index.js:284:7
        at Function.process_params (/opt/bitnami/apps/tot/node_modules/express/lib/router/index.js:335:12)
        at next (/opt/bitnami/apps/tot/node_modules/express/lib/router/index.js:275:10)
        at allowCrossDomain (/opt/bitnami/apps/tot/app.js:56:5)
        at Layer.handle [as handle_request] (/opt/bitnami/apps/tot/node_modules/express/lib/router/layer.js:95:5)
        at trim_prefix (/opt/bitnami/apps/tot/node_modules/express/lib/router/index.js:317:13)
        at /opt/bitnami/apps/tot/node_modules/express/lib/router/index.js:284:7
        at Function.process_params (/opt/bitnami/apps/tot/node_modules/express/lib/router/index.js:335:12)
        at next (/opt/bitnami/apps/tot/node_modules/express/lib/router/index.js:275:10)
        at SendStream.error (/opt/bitnami/apps/tot/node_modules/serve-static/index.js:121:7)
        at SendStream.emit (events.js:200:13)
        at SendStream.error (/opt/bitnami/apps/tot/node_modules/send/index.js:270:17)
        at SendStream.onStatError (/opt/bitnami/apps/tot/node_modules/send/index.js:421:12)

在我的一生中,我无法理解为什么在更新live URL/SSL之后,它突然停止了live上的工作


如果有人能为我指出正确的方向,那将是令人惊讶的。

我的生活环境中一定有什么东西坏了,我重新部署了该实例,它又开始工作了。