Heroku Нет такой ошибки приложения с Node.js node -http-proxy module
Я пытаюсь перенаправить трафик с моего тестового приложения /api/ * url на мой api, размещенный на Heroku.
Следовательно, localhost/api/hello
следует проксировать на testapp.heroku.com/hello
и ответ вернулся.
Использование node -http-proxy отлично работает на localhost на localhost, но когда я указываю его на myapp.heroku.com, я получаю эту ошибку:
Heroku | No such app
There is no app configured at that hostname.
Perhaps the app owner has renamed it, or you mistyped the URL.
У меня есть ощущение, что это система маршрутизации Heroku, которая подталкивает мой проксированный запрос, и я не нашел способа исправить это. Любые идеи?
Ответы
Ответ 1
Я видел нечто подобное при проксировании запросов в другой домен. Работа, которую я использовал, заключалась в том, чтобы изменить заголовок хоста на прокси-запрос, чтобы он соответствовал доменному имени, которое ожидает удаленный сайт. Поэтому в вашем случае код будет выглядеть так:
var http = require('http'),
httpProxy = require('http-proxy');
var server = httpProxy.createServer(function (req, res, proxy) {
req.headers.host = 'myapp.heroku.com';
proxy.proxyRequest(req, res, {
port: 80,
host: 'myapp.heroku.com'
});
}).listen(9000);
Мне было бы интересно узнать, работает ли это для вас.