Экспресс-маршрут не работает в производстве - PullRequest
0 голосов
/ 14 января 2019

Я новичок в Экспресс.

Я использую 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

В Экспрессе происходит какая-то секретная черная магия? Я в недоумении здесь. Должно быть, я что-то пропустил, но я не знаю, где искать.

1 Ответ

0 голосов
/ 14 января 2019

Я допустил ужасную ошибку при синхронизации файлов, и теперь проблема решена. Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...