Итак, я пытаюсь создать простой PaaS для приложений Node (http://www.github.com/darrensmith/baseplatform), и у меня действительно странное поведение.
По сути, вы можете запустить BasePlatform на своем хосте, и он запустит прокси-сервер на порту 8080, используя http-proxy и экземпляр Swaggerize-express на порту 8180. Первоначально он проксирует все запросы на порт 8080 через порт 8180, который является API для установить новые приложения.
Вы можете загрузить приложение и указать доменное имя, DNS которого указывает на тот же хост (localhost для целей тестирования), и на основе этого домена оно будет передавать запросы через прокси к приложению, работающему на альтернативном порту.
Поэтому я создал второе приложение swaggerize-express и загрузил его на BasePlatform, работающую на порту 8005. Однако, когда я пытаюсь просмотреть Swagger JSON, который создается автоматически (http://localhost:8005/api/v1/api-docs) для приложения, работающего на порту 8005, я получаю JSON для приложения по умолчанию, работающего на порту 8180. .
Если я запущу приложение самостоятельно и нажму на порт 8005, я получу правильный JSON.
Я не понимаю, как процесс узла, работающий на одном порту моего хоста, мешает процессу узла, работающему на другом, и ищу некоторую информацию.
Примечание. Это я пытаюсь подключить json установленного приложения непосредственно к порту, на котором оно было запущено. Если я попытаюсь просмотреть его на порту 8080 (через прокси), я получу то же самое. Мои статические маршруты, которые автоматически не обрабатываются Swaggerize, работают должным образом - кажется, что между маршрутами, обработанными swaggerize, есть только пересечение.
Любая помощь будет принята с благодарностью!