Это кажется простым, но я не могу заставить его работать.
У меня есть довольно простой веб-сервер, которому нужно делать только две вещи:
Это не сработало:
RewriteRule ^$ http://localhost:4000
Это перенаправляло трафик обратно на localhost: 4000 с точки зрения запрашивающей стороны (т. Е. На клиентском компьютере).
Мое ограниченное понимание VirtualHost указывает на то, что это что-то вроде atom.example.com, а не example.com/atom
Думаю, мне нужно использовать ProxyReverse, но я не могу найти правильную комбинацию.
ОБНОВЛЕНИЕ: попытка предложения ProxyPass / ProxyReverse, сделанного Шейном Мэдденом, приводит к этому в файле журнала ошибок:
[Thu Mar 15 11:59:15 2012] [error] (13)Permission denied: proxy: HTTP: attempt to connect to 127.0.0.1:4000 (localhost) failed
[Thu Mar 15 11:59:15 2012] [error] ap_proxy_connect_backend disabling worker for (localhost)
[Thu Mar 15 11:59:17 2012] [error] proxy: HTTP: disabled connection for (localhost)
(Локальный сервер определенно работает на 127.0.0.1:4000)
Не используйте mod_rewrite, если у вас нет на то причины.
Попробуйте это (поместите в <VirtualHost>
блок):
ProxyPass /atom http://127.0.0.1:4000/atom
ProxyPassReverse /atom http://127.0.0.1:4000/atom