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

Прокси-сервер Apache для пересылки гуакамоле

Я использую 64-битный сервер Ubuntu 13.04, на котором у меня работает несколько виртуальных машин VirtualBox. Раньше я просто перенаправлял порты для доступа к виртуальным машинам вручную, но я хочу использовать Guacamole для консолидации вещей. Я позволяю apache действовать как прокси практически для всех служб на моем сервере и таких конфигураций:

<VirtualHost *:80>
    ProxyPreserveHost On
    ProxyRequests Off
    ServerName dynmap.address.net
    ServerAlias dynmap.address.org
    ProxyPass / http://localhost:8123/
    ProxyPassReverse / http://localhost:8123/
</VirtualHost>

работают нормально, но эта конфигурация для гуакамоле (основанная на инструкциях из http://guac-dev.org/doc/gug/installing-guacamole.html) похоже не работает:

<VirtualHost *:80>
    ProxyPreserveHost On
    ProxyRequests Off
    ServerName rdp.address.net
    ServerAlias rdp.address.org

    ProxyPass / ajp://localhost:8009/guacamole/ max=20 flushpackets=on
    ProxyPassReverse / ajp://localhost:8009/guacamole/
    ProxyPassReverseCookiePath /guacamole /
</VirtualHost>

После доступа к ServerName я получаю типичную «500 Internal Server Error», и /var/log/apache2/error.log просто добавляет эту строку:

[warn] proxy: No protocol handler was valid for the URL /. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule.

Мой поиск в Google пока говорит, что это означает, что прокси-модули не загружены, но я подтвердил, что все прокси, proxy_http и proxy_html загружены.

РЕДАКТИРОВАТЬ: понял, что у меня неправильный порт на ProxyPassReverse, но это не решило проблему.

Из предоставленной вами документации в вашей конфигурации это выглядит так:

ProxyPass / ajp://localhost:8009/guacamole/ max=20 flushpackets=on
ProxyPassReverse / ajp://localhost:8009/guacamole/

На самом деле должно быть так:

ProxyPass ajp://localhost:8009/guacamole/ max=20 flushpackets=on
ProxyPassReverse ajp://localhost:8009/guacamole/

У вас есть несколько лишних косых черт, вызывающих проблемы.

(Обратите внимание: это зависит от того, используете ли вы это внутри тега VirtualHost или Location).