Похожие вопросы

DocumentRoot так, в виртуальных доменов.conf переопределяет глобальный DocumentRoot в httpd.conf
CentOS Web Panel CWP Apache php скрипты не работают
Apache2 сделать субдомен доступ к локальному FTP-серверу
Как запустить Visual Studio 2008 и сервер WAMP на той же локальной машине под управлением WIndows7?
Использование каталогов символьных ссылок с Apache, PHP и Windows 7
Проклятый маленький Linux с XAMPP Linux для создания веб-сервера на машине P4 или Mele A2000
Как установить расширение SQLite PDO на Ubuntu
Почему мои журналы Apache показывают два часовых пояса
Что мне нужно сделать, чтобы мой Raspberry Pi разместил веб-страницу с циферблатами, указывающими температуру процессора, нагрузку на процессор и т. д. в режиме реального времени?
Что такое Apache Synapse?
не удалось открыть поток слишком много открытых файлов-php 1024 максимальный лимит-Redhat-почему не работает новый лимит?
Настройка виртуальных хостов 2zimbra и Apache
Config xampp никогда не кэшировать страницы из localhost
http://localhost/phpmyadmin/index.php "говорит, что сайт не может быть достигнут". Apache не удается запустить
Apache2 конфигурации давая 404 на корневой документ с http, но не https

Апач ProxyPass динамического узла

Я пытаюсь настроить Apache для прокси на внутренний сервер на основе динамических имен хостов и с помощью других портов. Кажется, это слишком сложно для меня.
Это то, что у меня есть:

<Location /awesomewebapp>
ProxyPass http://[internalservername]:8080/awesomewebapp
ProxyPassReverse http://[internalservername]:8080/awesomewebapp
</Location>

но это (очевидно) не динамичная. Я работал над переписыванием правил и т. д. но у меня ничего не получилось. Что мне действительно нужно, так это что-то вроде:

^/[internalservername]/awesomewebapp
      proxy internally to
http://[internalservername]:8080/awesomewebapp

спасибо заранее

5
задан JCS81
источник

2 ответов

вы можете использовать RewriteRule для прокси-запрос. The документация apache для использования mod_rewrite в качестве прокси показывает следующее:

описание:

mod_rewrite предоставляет флаг [P], который позволяет передавать URL-адреса через mod_proxy на другой сервер. Здесь приводятся два примера. В одном примере URL-адрес передается непосредственно на другой сервер и подается так, как если бы это был локальный URL-адрес. В другом примере мы прокси недостающее содержимое к a внутренний сервер.

устранение:

чтобы просто отобразить URL на другой сервер, мы используем флаг [P], следующим образом:

RewriteEngine на RewriteBase "/продукция/" RewriteRule " ^widget/(.*)$" "http://product.example.com/widget/$1" [п] ProxyPassReverse "/продукция/виджет/" "http://product.example.com/widget/"

во втором примере, мы прокси-запрос, только если мы не сможем найти ресурс локально. Это может быть очень полезно при миграции с одного сервера на другой, и вы не уверены, что все содержимое уже перенесено.

RewriteCond "%{REQUEST_FILENAME}" !-Ф RewriteCond "%{REQUEST_FILENAME}" !-д RewriteRule "^/(.*)" "http://old.example.com/$1" [п] ProxyPassReverse "/" "http://old.example.com/"

второй пример, условно переписывая URL с помощью [P] флаг для прокси-запроса кажется тем, что вам нужно.

0
отвечен Brian Minton 2017-03-21 13:20:12
источник

мое предыдущее "решение" все еще не работало должным образом, поэтому я удалил его, чтобы избежать путаницы. Кажется, это невозможно, как я хочу, но небольшой обходной путь, использующий поддомен вместо подкаталога, все еще заставляет его качаться.

RewriteCond %{HTTP_HOST} ([^.]+)
RewriteRule ^/(.*) http://%1:8080/ [P]

источник: http://www.vanbommelonline.nl/2011/10/using-apache-for-dynamic-reverse-proxy.html

0
отвечен JCS81 2017-03-29 09:07:53
источник

Другие вопросы apache-http-server mod-rewrite proxy reverse-proxy