Я пытаюсь настроить прокси для моего сервера Node.js на моем экземпляре EC2, поэтому я могу получить к нему доступ через что-то вроде , где * - это остальная часть URI , Я настроил прокси редактирования /etc/httpd/conf/httpd.conf
со следующим:Node.js прокси через Apache на Amazon EC2
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /node http://*.amazonaws.com:3000
ProxyPassReverse /node http://*.amazonaws.com:3000
Моего Node.js server.js файла выглядит следующим образом:
var port = process.env.PORT || 3000;
var host = '*.amazonaws.com' || process.env.HOST || '127.0.0.1';
Так что, когда у меня есть все, и работают , Я могу получить доступ к /node, однако каталог Node.js /public не используется в качестве корневого каталога документа, поэтому я получаю 404s для любого файла. index.html включает в себя bec Предположим, что он находится в каталоге /public. Например, Firebug сообщает о 404 для http://*.amazonaws.com/javascripts/rails.js
и еще 3 файлах, что означает, что это не попадает в каталог /public Node.js.
Приятно отметить, что если я редактирую пути в файле index.html, все работает, но я не хочу этого делать ... также, если я выберу конфигурацию ProxyPass в httpd.conf и просто обращайтесь к серверу узлов с http://*.amazonaws.com:3000
, он работает ... но в идеале я бы не хотел этого делать и мог бы сделать /node.
Что я хочу знать, правильно ли настроен мой прокси, а если нет, то как мне его исправить, поэтому, когда я обращаюсь к /node, все запрошенные файлы перенаправляются сами?
Какова структура вашего узла? Является ли файл index.html общедоступным? Не могли бы вы разместить свой код узла (или, по крайней мере, основной файл, обычно app.js, если вы используете экспресс, например) –
Тот факт, что запросы не попадают в общедоступную (статические файлы), не обязательно из-за плохого прокси-конфигурации. Каков порядок вашего промежуточного ПО или где вы положили 'app.use (express.static (__ dirname + '/ public'));'? – Michael
Как объясняется в моем другом комментарии, я использую CompoundJS в качестве основы для лесов/MVC. Он использует Express, но он в основном абстрагирует все это от меня. Я сделаю кое-какие операции и вернусь к вам. – incutonez