Apache 代理转发鳄梨酱

Apache 代理转发鳄梨酱

我正在运行 Ubuntu 13.04 64 位服务器,上面运行着一些无头 VirtualBox VM。过去我只是转发端口以手动访问 VM,但我想使用 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 内部服务器错误”,并且 /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.

到目前为止,我用谷歌搜索的结果显示这意味着代理模块未加载,但我已经确认 proxy、proxy_http 和 proxy_html 都已加载。

编辑:我意识到 ProxyPassReverse 上的端口是错误的,但这并不能解决问题。

答案1

根据您提供的文档,您的配置如下所示:

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 标签内使用它)。

相关内容