快速路线在生产中不起作用

时间:2019-01-14 11:25:54

标签: http docker express routing

我是Express的新手。

我正在使用Docker。

我正在使用Caddy将/ api / vision代理到我的Express实例,监听速度为:3000。

我正在尝试访问生产中的路线,但出现经典的“无法获取...”错误。在开发环境中设置的相同环境下,我没有此错误。

Caddyfile:

localhost:80 {  ## change to mydomain.app in production
  root frontend/ ## front end static files
  proxy /api/vision vision:3000 ## proxy to docker container
}

app.js:

const cors = require('cors');
const express = require('express');
const app = express();
const port = 3000;

app.use(cors());

app.get('/api/vision', (req, res) => {
  res.send({message: 'Hello World!'});
});

app.listen(port);

当我在开发机器上的localhost上运行Docker时,一切正常。

它给了我前端,/ api / vision正确地重定向到:3000。

一旦我将其部署到生产机器上并向mydomain.app/api/vision发送请求,Express就会给我:

Cannot GET /api/vision

Express中是否存在一些秘密的黑魔法?我在这里茫然。我一定错过了一些东西,但我不知道在哪里看。

1 个答案:

答案 0 :(得分:0)

同步文件时我犯了一个可怕的错误,现在问题已解决。谢谢