Heroku Нет такой ошибки приложения с модулем Node.js node-http-proxy - PullRequest
12 голосов
/ 22 июня 2011

Я пытаюсь перенаправить трафик с URL-адреса моего тестового приложения / api / * на мой 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 Ответ

16 голосов
/ 22 июня 2011

Я видел нечто подобное при проксировании запросов в другой домен. Обходной путь, который я использовал, состоял в том, чтобы изменить заголовок узла в запросе прокси, чтобы он соответствовал имени домена, которое ожидает удаленный сайт. Так что в вашем случае код будет выглядеть так:

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);

Мне было бы интересно узнать, работает ли это для вас.

...