web-dev-qa-db-ja.com

ワカモレを転送するApacheプロキシ

Ubuntu 13.04 64ビットサーバーを実行しています。このサーバーでは、ヘッドレスVirtualBoxVMがいくつか実行されています。以前は、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>

正常に動作しますが、このguacamoleの構成( 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.

これまでのグーグルでは、これはプロキシモジュールがロードされていないことを意味しますが、proxy、proxy_http、proxy_htmlがすべてロードされていることを確認しました。

編集:ProxyPassReverseのポートが間違っていることに気づきましたが、それでも問題は解決しませんでした。

1
SanMadJack

提供したドキュメントから、構成では次のようになります。

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タグ内でこれを使用しているかどうかによって異なります)。

1
user158845