Hi Nicolas,

I followed your recommandation, still having the same issue.

I had the message:
Invalid command 'ProxyHTMLEnable'  when restarting apache.

In fact, it seems to be related to my problem, as response from html server systematically removed /virtuoso/.

This module may not be installed by default on every distro and some older versions do not ship it at all.

On Fedora i also had to install it separately.

You can try searching for mod_proxy_html using apt-cache on Debian.

After investigating on the web, I found the following hack:

"Have you tried leaving out "ProxyHTMLEnable on" entirely? I think that directive is new and not in the version in Ubuntu.Do put "SetOutputFilter proxy-html" in its place".

I tried and ... it works ;)

Going now investigating further to be sure that everything is OK.


Good to hear. I will have a look what the difference between this and the ProxyHTMLUrlMap is.
Thank you very much for providing me the configuration file.


No problem. I will add this as a suggestion into the documentation so others may benefit.


Patrick


2010/5/23 Patrick van Kleef <[email protected]>
Hi Nicolas,

I'm trying to access virtuoso server through an apache server, using
mod_proxy.
Calling http://www.mysite.net/virtuoso, it should redirect on my local
server on 88.191.91.72:8890 <http://88.191.91.72:8890>


NameVirtualHost 88.191.91.72

<VirtualHost 88.191.91.72>
   ServerName www.mysite.net <http://www.mysite.net>

...
    ProxyRequests off
<Proxy *>
         Order deny,allow
         Allow from all
</Proxy>
     ProxyPass /virtuoso/ http://172.16.12.128:8890/
     ProxyPass /virtuoso http://172.16.12.128:8890
     ProxyPassReverse /virtuoso/ http://172.16.12.128:8890/
     ProxyPassReverse /virtuoso http://172.16.12.128:8890
     ProxyTimeout 300
     ProxyHTMLURLMap /virtuoso/ http://172.16.12.128:8890/
     ProxyHTMLURLMap /virtuoso http://172.16.12.128:8890
     ProxyPreserveHost On
</VirtualHost>

But doing so, when trying to enter login and password for virtuoso
login, from http://www.mysite.net/virtuoso/conductor (with expected screen).
I have an error with a returned address
http://www.plm-interop.net/conductor/main_tabs.vspx, and a message "Not
found".

I think it does not work, because some call are may be not done under
the path /virtuoso , in particular with the login, but I'm not so sure.

Did some one already address successfully this need (redirection on a
server) and can indicate me how to proceed?

I think your ProxyHTMLURLMap arguments are in reverse order.


The following should work:


NameVirtualHost 88.191.91.72

<VirtualHost 88.191.91.72>
ServerName www.mysite.net <http://www.mysite.net>
...

   #  Disable global proxy
   ProxyRequests       Off

   #  Pass original host to Virtuoso
   ProxyPreserveHost   On

   #  Timeout waiting for Virtuoso
   ProxyTimeout        300

   #  Set permission

   <Proxy *>
       Order deny,allow
       Allow from all
   </Proxy>

   #
   #  Map /virtuoso/ to a local Virtuoso instance.
   #
   #  Since ProxyPass and ProxyPassReverse only fix the Headers
   #  of the request, we need to use ProxyHTMLURLMap to rewrite
   #  content.
   #
   <Location /virtuoso/>
       ProxyPass               http://172.16.12.128:8890/
       ProxyPassReverse        /

       #  Enable rewrite rules
       ProxyHTMLEnable         On
       ProxyHTMLURLMap         / /virtuoso/
       ProxyHTMLURLMap         http://172.16.12.128:8890/ /virtuoso/

       # Uncomment this when EnabledGzipContent=1 in virtuoso.ini
       #SetOutputFilter         INFLATE;DEFLATE
   </Location>
</VirtualHost>


If we map the virtual host straight through to Virtuoso, we only need header rewriting and save the time/cpu power to rewrite the content.

   #
   #  Map / to a local Virtuoso instance
   #
   #  Since paths are mapped straight through, we do not have to
   #  rewrite the content.
   #
   <Location />
       ProxyPass               http://172.16.12.128:8890/
       ProxyPassReverse        /
   </Location>

Note that the next version of Virtuoso OpenSource has a couple of patches to fix some issues with running under a reverse proxy, so you may need a newer version of Virtuoso.

Please contact me if you continue to experience problems and i will make a new snapshot available to you.

Patrick



Reply via email to