Назад | Перейти на главную страницу

Как создать условный ProxyPass?

У меня есть следующая конфигурация для одного из доступных сайтов .conf файл.
Его настройка для загрузки ghost блог, если ты ударил blog.example.com.
Как-то это вызывает example.com чтобы обслуживать и блог. Но это тоже нормально.

<Virtualhost *:80>
  ServerName blog.example.com
  ServerAdmin admin80@example.com
  ProxyPass        /  http://localhost:2368/
  ProxyPassReverse /  http://localhost:2368/
</Virtualhost>

Итак, я только что установил phpmyadmin и я понял, что не могу получить к нему доступ с http://example.com/phpmyadmin. Доступ к этой странице приведет к появлению страницы призрака 404, которая не найдена.

Думаю, мне нужны условные ProxyPass игнорировать /phpmyadmin ?
Я пробовал следующее: это тоже не работает.

<Virtualhost *:80>
  ServerName blog.example.com
  ServerAdmin admin80@example.com
  ProxyPass        /phpmyadmin  http://localhost/phpmyadmin
  ProxyPassReverse /phpmyadmin  http://localhost/phpmyadmin
  ProxyPass        /  http://localhost:2368/
  ProxyPassReverse /  http://localhost:2368/
</Virtualhost>

Apache просто зависает, и мне нужно перезапускать его, когда я нажимаю http://example.com/phpmyadmin.

Обновить:

Я пробовал следующее, и он загружается phpmyadmin страница авторизации. Только что добавленное :80 после localhost. и укажите конкретное доменное имя для виртуального хоста вместо *.

<Virtualhost blog.example.com:80>
  ServerName blog.example.com
  ServerAdmin admin@example.com
  ProxyPass        /phpmyadmin  http://localhost:80/phpmyadmin
  ProxyPassReverse /phpmyadmin  http://localhost:80/phpmyadmin
  ProxyPass        /  http://localhost:2368/
  ProxyPassReverse /  http://localhost:2368/
</Virtualhost>

Проблема в том, что он перенаправляется на http://localhost/phpmyadmin/index.php?token=8fa78a71a166399749b58cd3cb66b7f2 вместо. Возможно какая-то конфигурация с phpmyadmin Я думаю.

Вы можете использовать ! target, чтобы предотвратить проксирование местоположения:

<Virtualhost *:80>
  DocumentRoot     /path/to/parent/of/phpmyadmin
  ProxyPass        /phpmyadmin !
  ProxyPass        /  http://localhost:2368/
  ProxyPassReverse /  http://localhost:2368/
</Virtualhost>

Все запросы будут перенаправлены на localhost:2368, кроме тех, которые используются в phpmyadmin.

Конечно, вам придется установить корень документа, иначе phpmyadmin не будет найден.