Я хочу запустить приложение meteor.js во вложенной папке (/home/www/public/v1
) домена (/home/www/public
) обслуживается сервером Apache (2.4.7). Я настроил виртуальный хост, который прослушивает порт 80 и прокси-серверы, начиная с «v1», в приложение nodejs. Он работает нормально (я думаю), за исключением того, что я получаю страницу 404, созданную meteor.js.
Должен ли я изменить настройку meteor.js для приема запросов, поступающих от «domain.tld / v1» вместо «domain.tld»? Если да, то какие файлы? Возможна ли вообще такая установка?
Конфигурация виртуального хоста (отредактировано для удобочитаемости)
<VirtualHost *:80>
ServerName domain.tld
DocumentRoot /home/username/www/domain.tld/public
<Directory />
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<Directory /home/username/www/domain.tld/public/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from All
Require all granted
</Directory>
# NODEJS APP in V1 FOLDER
ProxyRequests on
<Proxy *>
Order deny,allow
Allow from all
Require all granted
</Proxy>
<Location "/v1/">
ProxyPreserveHost on
ProxyPass http://localhost:3000/
ProxyPassReverse http://localhost:3000/
</Location>
</VirtualHost>
Ваша конфигурация верна, но некоторые параметры устарели, а другие не нужны:
<VirtualHost *:80>
ServerName domain.tld
DocumentRoot /home/username/www/domain.tld/public
<Directory />
Options +FollowSymLinks
AllowOverride All
</Directory>
<Directory /home/username/www/domain.tld/public/>
Options +Indexes +FollowSymLinks +MultiViews
AllowOverride All
</Directory>
# NODEJS APP in V1 FOLDER
<Location "/v1">
ProxyPass http://localhost:3000/V1
ProxyPassReverse http://localhost:3000/V1
</Location>
</VirtualHost>
Meteor.js будет перенаправлен с порта 3000 / v1 на порт 80 / v1.
Этого больше нет в Apache 2.4
Order allow,deny
allow from All
Это нужно, когда у вас есть ограничение
Require all granted
Это заставит ваш сервер проксировать любой запрос, и это не требуется для того, что вам нужно (https://httpd.apache.org/docs/2.4/en/mod/mod_proxy.html#proxyrequests)
ProxyRequests on
В вашем случае это необязательно (https://httpd.apache.org/docs/2.4/en/mod/mod_proxy.html#proxypreservehost)
ProxyPreserveHost on