У меня есть приложение Meteor, работающее на порту 3000. Я могу успешно подключиться к программе с помощью www.myurl.com:3000, но предпочитаю подключаться к ней через www.myurl.com/myappname. Я начал с инструкций на этом веб-сайте: http://www.andrehonsberg.com/article/deploy-meteorjs-vhosts-ubuntu1204-mongodb-apache-proxy и у меня есть следующий файл конфигурации Apache:
<VirtualHost *:80>
ServerName myurl.com
ProxyRequests off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
<Location />
ProxyPass http://localhost:3000/
ProxyPassReverse http://localhost:3000/
</Location>
</VirtualHost>
Я не знаю, как продолжить, чтобы получить программу на www.mysite.com/myapp. В других ситуациях я бы использовал псевдоним в файле конфигурации Apache, но в данном случае это не кажется правильным направлением.
Как мне настроить Apache для отправки порта 3000 на www.myurl.com/myapp?
Попробуйте изменить <Location />
к <Location /myapp/>
. Видеть эта страница для документации.
Фрагмент:
ProxyPass
Эта директива позволяет отображать удаленные серверы в пространство локального сервера; локальный сервер не действует как прокси в обычном понимании, но выглядит как зеркало удаленного сервера. Локальный сервер часто называют обратным прокси или шлюзом. Путь - это имя локального виртуального пути; url - это частичный URL-адрес удаленного сервера, который не может включать строку запроса.
При использовании внутри
<Location>
раздел, первый аргумент опускается, и локальный каталог получается из<Location>
. То же самое произойдет внутри<LocationMatch>
раздел, однако ProxyPass не интерпретирует регулярное выражение как таковое, поэтому в этой ситуации необходимо использовать ProxyPassMatch.