2014-11-21 2 views
1

Я пытаюсь перенести приложение NodeJS, которое отлично работает с выделенного сервера, на котором запущен Nginx, на другой, запущенный Apache2.NodeJS с Apache и списком каталогов

Вот мой файл конфигурации Nginx

server { 
    listen 80; 
    server_name example.com; 

    root /home/user/myapp; 

    location/{ 
    proxy_pass http://example.com:9000; 
    } 

    location /logs { 
    autoindex on; 
    } 
} 

и вот мой конфигурационный файл Apache2

<VirtualHost *:80> 
DocumentRoot /home/user/myapp 

ProxyRequests off 

<Proxy *> 
    Order deny,allow 
    Allow from all 
</Proxy> 

<Location /> 
    ProxyPass http://example.com:9000/ 
    ProxyPassReverse http://example.com:9000/ 
</Location> 

<Directory /home/user/myapp/logs> 
    Options +Indexes 
</Directory> 

</VirtualHost> 

В NodeJS приложение работает как на сервере HTTP, но я только в состоянии получить каталог листинга http://example.com/logs с Nginx, но не с Apache2, где отвечает NodeJS

Cannot GET /logs/ 

Что-то не хватает в файле конфигурации Apache2? Очевидно, что каждый мод Apache2 включен proxy_httpproxy и autoindex.

+0

У вас есть 2 блока местоположения в вашей конфигурации nginx, но только один в конфигурации Apache. – loganfsmyth

+0

Замена 'Directory' на' Location' ничего не меняет 'Can not GET/logs /'. – Grydz

+0

Извините, я не имел в виду удалить '', я имею в виду добавить '' – loganfsmyth

ответ

0

Добавление ProxyPass /logs ! работ!

<VirtualHost *:80> 
DocumentRoot /home/user/myapp 
ProxyRequests off 

<Proxy *> 
    Order deny,allow 
    Allow from all 
</Proxy> 

ProxyPass /logs ! 

<Location /> 
    ProxyPass http://example.com:9000/ 
    ProxyPassReverse http://example.com:9000/ 
</Location> 

<Directory /home/user/myapp/logs> 
    Options +Indexes 
</Directory> 

</VirtualHost> 
Смежные вопросы