node.js - Express.js Catch All 路由不适用于 AWS EC2

标签 node.js express amazon-ec2 routes

我正在尝试设置 Express.js 路由,但遇到了一个我不明白的问题。

我正在设置一条如下所示的包罗万象的路线:

app.get('/', function(req, res) {
  console.log('CAUGHT HOME');
  res.render('../public/index.ejs');
});

app.get('*', function(req, res) {
  console.log('CAUGHT ALL');
  res.render('../public/index.ejs');
});

在 Windows 7 上本地运行 Node.js,当我向任何 URL 发出请求时,会打印控制台日志消息,因此一切设置均正确。

但是,当我将脚本上传到 AWS EC2 并发出请求时,不会打印控制台消息。

我有另一条路线,可以在本地和 AWS 上完美运行,设置如下:

app.get('/login', function(req, res) {

        res.render('../public/login.ejs', { message: req.flash('loginMessage') });
    });

我不明白为什么路由确实有效,但不是为了包罗万象。 是否需要更改任何系统设置才能使全部功能正常工作?还是我做错了什么?

我非常感谢任何建议! TIA!

这是本地控制台输出的一个片段,其中一切都按预期工作:

CAUGHT HOME
GET / 304 25ms
CAUGHT ALL
GET /font-awesome/css/font-awesome.css 200 5ms - 2.32kb
CAUGHT ALL
GET /css/bootstrap.min.css 200 2ms - 2.32kb
CAUGHT ALL
GET /css/animate.css 200 1ms - 2.32kb
CAUGHT ALL
GET /css/style.css 200 1ms - 2.32kb
CAUGHT ALL
GET /js/jquery/jquery-2.1.1.min.js 200 6ms - 2.32kb
CAUGHT ALL
GET /js/plugins/jquery-ui/jquery-ui.js 200 2ms - 2.32kb
CAUGHT ALL
GET /js/bootstrap/bootstrap.min.js 200 1ms - 2.32kb

这是 AWS 上的控制台输出:

GET / 304 39ms
GET /font-awesome/css/font-awesome.css 304 111ms
GET /css/bootstrap.min.css 304 52ms
GET /js/plugins/jquery-ui/jquery-ui.js 304 50ms
GET /css/animate.css 304 51ms
GET /css/style.css 304 53ms
GET /js/jquery/jquery-2.1.1.min.js 304 58ms
GET /js/bootstrap/bootstrap.min.js 304 13ms

最佳答案

尝试这样:

app.route('/*')
  .get(function (req, res) {
    // 
  });

关于node.js - Express.js Catch All 路由不适用于 AWS EC2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30048405/

相关文章:

node.js - 如何使用 slack API 为 slack 上的按钮设置颜色

javascript - 在 JS 中读取 pcap.gz 文件

amazon-web-services - 在 AWS CloudFormation 模板中,我可以对引用进行加法或减法吗

amazon-web-services - 有没有办法在 AWS 中使用自动缩放来停止而不是终止实例?

mysql - Sequelize : Destroy/Delete all records in the table

javascript - 在javascript中计算iso时间格式的时差?

node.js - 什么是更好的方法 : serving static files with Express or nginx?

javascript - 仅当值存在时才链接方法 (js)

node.js - 将 Ember.js 与 Node.js 集成 (Express+Tower.js)

amazon-web-services - 自动化 Opsworks : How do you execute recipes?