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のポートが間違っていることに気づきましたが、それでも問題は解決しませんでした。
提供したドキュメントから、構成では次のようになります。
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タグ内でこれを使用しているかどうかによって異なります)。