Я новичок в Экспресс.
Я использую Docker.
Я использую Caddy для прокси / api / vision для моего экземпляра Express, который прослушивает: 3000.
Я пытаюсь получить доступ к своему маршруту на производстве, но получаю классическую ошибку «Cannot GET ...». У меня нет этой ошибки с той же средой, настроенной в разработке.
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);
Все это прекрасно работает, когда я запускаю Docker на локальном хосте на моей машине для разработки.
Это дает мне интерфейс, и / api / vision правильно перенаправляет на: 3000.
После развертывания на производственном компьютере и отправки запроса на mydomain.app/api/vision, Express дает мне:
Cannot GET /api/vision
В Экспрессе происходит какая-то секретная черная магия? Я в недоумении здесь. Должно быть, я что-то пропустил, но я не знаю, где искать.