Я написал небольшое приложение Rack, использующее стойку-прокси, чтобы он выглядел так, как приложения, работающие на разных портах, на самом деле являются разными подкаталогами одного домена. Оно работает.Мое приложение для прокси-сервера работает с разными портами, но не с разными URL-адресами
Если я бегу notes
на порт 3001
и photos
на 3002
, то я могу пойти в localhost:3000/notes
или localhost:3000/photos
и все работает должным образом.
Это полезно только для его локального использования. Но если я хочу запустить эту же настройку на Heroku, мне нужно иметь возможность прокси-сервера для разных URL-адресов, а не только для разных портов. Поэтому, когда я меняю свой код с env["HTTP_HOST"]
на http://localhost:3001
на /notes
, вместо этого установите env["HTTP_HOST"]
на http://sbbme-note.herokuapp.com
на /notes
, Стойка взрывает меня.
Я думал, что это будет Just Work ™. К несчастью, я что-то упустил.
Errno::EADDRNOTAVAIL at /notes
Can't assign requested address - connect(2) for "http://sbbme-note.herokuapp.com" port 0
Полный след следа находится в этом контексте.
https://gist.github.com/veganstraightedge/6d840377bf20b4b5f5db
РЭПО является homesteading/homesteading-router-rack. Филиал master
- это тот, который работает только в режиме локальной разработки (несколько портов на локальном хосте). В ветке heroku-router
я пытаюсь использовать разные (под) домены вместо разных портов. heroku-router
- это тот, который взрывается (см. Выше).
Если вы хотите, чтобы установить это и попробовать его на своей машине, этот должен работы:
gem install homesteading
homesteading new mysite
cd mysite
homesteading server
open http://localhost:3000
Я очень близко к возможности заменить мои лет груду моно рельсах с мой созвездие приложений подходит в Homesteading. Этот маршрутизатор является последним основным блокировщиком. Любая помощь будет принята с благодарностью.
PS. Моя первоначальная версия основана на этом сообщении в блоге (livsey dot org/blog/2012/02/23/using-rack-proxy-to-serve-multiple-rails-apps-from-the-same-domain-and-port) и этот вопрос/ответ на переполнение стека (stackoverflow dot com/questions/11057905/how-do-i-use-rackproxy-in-rails-to-proxy-request-to-a-specific-path-to-an "Как сделать Я использую Rack :: Proxy в Rails для прокси-запросов к определенному пути к другому приложению - переполнение стека »).
Я все еще новый пользователь переполнения стека. В настоящее время у меня только 6 репутации. Мне нужно, чтобы увеличить ваш ответ. Когда я получу это много, я вернусь к этому и поддержу вас. –