【发布时间】:2019-06-08 09:16:52
【问题描述】:
我是 Express 的新手。
我正在使用 Docker。
我正在使用 Caddy 将 /api/vision 代理到我在 :3000 监听的 Express 实例。
我正在尝试访问我在生产中的路线,但我收到了经典的“无法获取 ...”错误。我在开发中设置的相同环境没有此错误。
球童文件:
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);
当我在我的开发机器上的本地主机上运行 Docker 时,这一切都很好。
它给了我前端,/api/vision 正确重定向到 :3000。
一旦我部署到我的生产机器,并向 mydomain.app/api/vision 发送请求,Express 就会给我:
Cannot GET /api/vision
Express 中有什么秘密的黑魔法吗?我在这里不知所措。我一定错过了什么,但我不知道去哪里找。
【问题讨论】:
标签: http docker express routing