Примечание: Я прочитал несколько возможных решений своего вопроса, но некоторые из них устарели, синтаксис httpd.conf изменился и / или не совсем соответствует моей ситуации.
Я просто пытаюсь найти правильные заклинания для пересылки запросов Apache следующим образом:
Порт 80 ==> Порт 3000
В общем, допустим, что существует веб-сервер с такими URL-адресами, как:
http://www.example.com/our-cool-app
http://www.example.com/our-cool-app/this-is-even-cooler
http://www.example.com/serious-stuff
Каждый из этих серверов работает (с правами обычного пользователя: это проблема?) На localhost: 1000, localhost: 2000 и localhost: 3000 соответственно.
Что мне добавить в файл httpd.conf?
Более конкретно:
http://jfknumbers-forum.org/potree-3000
Вы увидите сообщение об ошибке («Cannot GET /»). С URL localhost: 3000 все работает, как ожидалось.
См. Ниже мою текущую конфигурацию:
#
# Potree Server
#
<Location /potree-3000>
ProxyPass http://localhost:3000
ProxyPassReverse http://localhost:3000
</Location>
Остальная часть моего файла конфигурации такая же, как и из дистрибутива.
NB: Я отправил несколько писем, чтобы подписаться на список рассылки Apache, но они игнорируются.
Ваша конфигурация Apache в основном правильная
Но является ли конфигурация, которую вы публикуете, тем, что вы настроили?
Когда я делаю curl -v http://jfknumbers-forum.com/pootree-3000/
Ответ об ошибке: Cannot GET //
обратите внимание на дубликат вперед / туда
Обычно это результат, когда адрес местоположения и проход прокси не имеют совпадающих косых черт в путях URL.
Возможно, вы захотите попробовать и посмотреть, что происходит, когда вместо директивы местоположения вы используете
ProxyPass /potree-3000/ http://localhost:3000/
ProxyPassReverse /potree-3000/ http://localhost:3000/
Или
ProxyPass /potree-3000 http://localhost:3000
ProxyPassReverse /potree-3000 http://localhost:3000
А затем проверьте в журналах вашего экспресс-приложения, что происходит
Ответ на вопрос прост и уже предложен. Нет ничего плохого в Apache или его конфигурации. Проблема находится на сервере с портом localhost 3000, который принимает запросы.
Спасибо всем.