У меня есть полнофункциональное приложение Yeoman @2.0.13 с точно такой же структурой каталогов, как и в это руководство.
Все работает нормально - grunt serve:dist
и т.д. работает без ошибок. Теперь я хочу начать работу и развернуть приложение на сервере Apache как example.com/xxx
, используя mod_proxy
. Я копирую сгенерированный grunt build
каталог /dist
в домашний каталог и запускаю серверное приложение:
NODE_ENV=production node server/app.js
Приложение запускается, заполняет пользователей и так далее. Все работает хорошо. Теперь я настраиваю параметры виртуального хоста для приложения узла:
<Location /html/xxx/>
ProxyPass http://127.0.0.1:9000/
ProxyPassReverse http://127.0.0.1:9000/
</Location>
Это работает. Странно то, что index.html
из каталога dist загружается правильно
dist
├── public
│ ├── app
│ ├── assets
│ ├── bower_components
│ └─ index.html <---
|
└── server
├── api
├── auth
├── components
├── config
├── views
├─ app.js
└─ router.js
proxyPass
работает, index.html
загружается, но файлы, на которые ссылается index.html
(4 собранных файла public/app
/ vendor.js
, app.js
и т.д.), нет. Я получаю 404
независимо от того, что я пробовал, независимо от того, какие настройки из любого руководства я тестировал.
Действительно потратил много часов на это. Мне кажется, что обратный прокси как-то изменяет внутренние URL-адреса? Настройка работает, если я заменю dist/
скриптом узла, который просто прослушивает порт 9000 и возвращает привет, мир.
Что мне не хватает? Есть ли другой способ сделать это?