You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jena.apache.org by Neubert Joachim <J....@zbw.eu> on 2013/06/28 16:23:12 UTC

AW: Reverse proxying Fuseki behind Apache

I've got the same problem: behind a reverse proxy which maps "/beta/fuseki" to ":3030", the control panel does not work any more. ("The requested URL /$/datasets was not found on this server.")

Is there a way to work around this without changing the jar file?

Cheers, Joachim

-----Ursprüngliche Nachricht-----
Von: Andy Seaborne [mailto:andy.seaborne.apache@gmail.com] Im Auftrag von Andy Seaborne
Gesendet: Sonntag, 3. Juni 2012 14:14
An: users@jena.apache.org
Betreff: Re: Reverse proxying Fuseki behind Apache

On 01/06/12 21:09, Andy Bunce wrote:
> Thanks for looking at this. My proxy setup is, maybe, simplistic. It 
> is apache.conf
>
> # fuseki
> ProxyPass /sparql/ http://192.168.1.8:3030/ ProxyPassReverse /sparql/ 
> http://192.168.1.8:3030/

We (epimorphics) use the same pattern; we don't use the /pages via /sparql/ though hence not encountering your situation.

>
> I think adding the explicit content type for tpl is a good thing, but 
> I can see further steps to support url mounting are maybe not the best 
> use of resource. I will look at other ways to achieve this.

Having sat on a train yesterday gave me the chance to think about this.

It is worth trying removing the "/" from "/$" -- the prefix "$" should just appear as a dataset name that isn't a dataset and all should be good., even if the Fuseki server is accessed via

It needs testing though.  IIRC the servlet name has to begin "/" for dispatch, while the name used in the velocity templates would not.

	Andy

> Cheers /Andy
>
> On Fri, Jun 1, 2012 at 10:12 AM, Andy Seaborne<an...@apache.org>  wrote:
>
>> On 31/05/12 23:21, Andy Bunce wrote:
>>
>>>    Duh, the clue in the dates! Using the 0531 build it works.
>>> However there are other absolute path problems e.g. In 
>>> control-panel.tpl
>>>
>>>   <form action="/$/datasets
>>> <view-source:http://orlop.**webhop.info/$/datasets<http://orlop.webhop.info/$/datasets>>"
>>> method="post">
>>>
>>> /Andy
>>>
>>>
>> Thanks for pointing that out.
>>
>> Overall observation - the /pages are there as a basis for a simple 
>> app for Fuseki.  I see them as a starting point.
>>
>> The "magic" name $ is used so that the UI support operations are 
>> distinct from the dataset namespace. Strictly, it means you can't 
>> have dataset named "$" but that does not seem like a huge restriction.
>>
>> When we r-proxy, we do so for a whole virtual host.  What is your setup?
>>
>> I think removing the leading "/" is OK but it is there so that the 
>> pages do not themselves have to be at the root.
>>
>> So we have overload - wanting to be able to move the Fuseki root 
>> about for your reverse proxy case, wanting to have the /pages area at 
>> different base URL, and wanting a single build configuration.  I'm 
>> not sure what is the best one of those to vary.
>>
>>         Andy
>>
>


Re: Reverse proxying Fuseki behind Apache

Posted by Martynas Jusevičius <ma...@graphity.org>.
I would recommend Varnish instead of Apache.

On Fri, Jun 28, 2013 at 6:56 PM, Neubert Joachim <J....@zbw.eu> wrote:
> Unfortunately, mod_proxy_html does not seem to be part of the Centos/Redhat distribution I have to use on the relevant server.
>
> But thanks for the hint anyway - Joachim
>
> -----Ursprüngliche Nachricht-----
> Von: Sören Brunk [mailto:soeren.brunk@tu-dresden.de]
> Gesendet: Freitag, 28. Juni 2013 16:53
> An: users@jena.apache.org
> Betreff: Re: Reverse proxying Fuseki behind Apache
>
> You can use mod_proxy_html [1] to get the Fuseki interface working behind a reverse proxy.
>
> The following works for me, after installing and enabling the module:
> ---
> # ProxyHTMLEnable On # changed in Apache 2.4 ProxyHTMLInterp On  # Apache 2.2 SetOutputFilter proxy-html
>
> <Location /fuseki/>
>      ProxyPass http://localhost:3030/
>      ProxyPassReverse /
>      ProxyHTMLURLMap / /fuseki/
> </Location>
> ---
>
> You still have to change the location of the XSLT style sheet if you want HTML output from your SPARQL result.
>
> Cheers,
> Sören
>
> [1] https://httpd.apache.org/docs/2.4/mod/mod_proxy_html.html
>> I've got the same problem: behind a reverse proxy which maps
>> "/beta/fuseki" to ":3030", the control panel does not work any more.
>> ("The requested URL /$/datasets was not found on this server.")
>>
>> Is there a way to work around this without changing the jar file?
>>
>> Cheers, Joachim
>>
>> -----Ursprüngliche Nachricht-----
>> Von: Andy Seaborne [mailto:andy.seaborne.apache@gmail.com] Im Auftrag
>> von Andy Seaborne
>> Gesendet: Sonntag, 3. Juni 2012 14:14
>> An: users@jena.apache.org
>> Betreff: Re: Reverse proxying Fuseki behind Apache
>>
>> On 01/06/12 21:09, Andy Bunce wrote:
>>> Thanks for looking at this. My proxy setup is, maybe, simplistic. It
>>> is apache.conf
>>>
>>> # fuseki
>>> ProxyPass /sparql/ http://192.168.1.8:3030/ ProxyPassReverse /sparql/
>>> http://192.168.1.8:3030/
>> We (epimorphics) use the same pattern; we don't use the /pages via /sparql/ though hence not encountering your situation.
>>
>>> I think adding the explicit content type for tpl is a good thing, but
>>> I can see further steps to support url mounting are maybe not the
>>> best use of resource. I will look at other ways to achieve this.
>> Having sat on a train yesterday gave me the chance to think about this.
>>
>> It is worth trying removing the "/" from "/$" -- the prefix "$" should
>> just appear as a dataset name that isn't a dataset and all should be
>> good., even if the Fuseki server is accessed via
>>
>> It needs testing though.  IIRC the servlet name has to begin "/" for dispatch, while the name used in the velocity templates would not.
>>
>>       Andy
>>
>>> Cheers /Andy
>>>
>>> On Fri, Jun 1, 2012 at 10:12 AM, Andy Seaborne<an...@apache.org>  wrote:
>>>
>>>> On 31/05/12 23:21, Andy Bunce wrote:
>>>>
>>>>>     Duh, the clue in the dates! Using the 0531 build it works.
>>>>> However there are other absolute path problems e.g. In
>>>>> control-panel.tpl
>>>>>
>>>>>    <form action="/$/datasets
>>>>> <view-source:http://orlop.**webhop.info/$/datasets<http://orlop.webhop.info/$/datasets>>"
>>>>> method="post">
>>>>>
>>>>> /Andy
>>>>>
>>>>>
>>>> Thanks for pointing that out.
>>>>
>>>> Overall observation - the /pages are there as a basis for a simple
>>>> app for Fuseki.  I see them as a starting point.
>>>>
>>>> The "magic" name $ is used so that the UI support operations are
>>>> distinct from the dataset namespace. Strictly, it means you can't
>>>> have dataset named "$" but that does not seem like a huge restriction.
>>>>
>>>> When we r-proxy, we do so for a whole virtual host.  What is your setup?
>>>>
>>>> I think removing the leading "/" is OK but it is there so that the
>>>> pages do not themselves have to be at the root.
>>>>
>>>> So we have overload - wanting to be able to move the Fuseki root
>>>> about for your reverse proxy case, wanting to have the /pages area
>>>> at different base URL, and wanting a single build configuration.
>>>> I'm not sure what is the best one of those to vary.
>>>>
>>>>          Andy
>>>>

AW: Reverse proxying Fuseki behind Apache

Posted by Neubert Joachim <J....@zbw.eu>.
Unfortunately, mod_proxy_html does not seem to be part of the Centos/Redhat distribution I have to use on the relevant server.

But thanks for the hint anyway - Joachim

-----Ursprüngliche Nachricht-----
Von: Sören Brunk [mailto:soeren.brunk@tu-dresden.de] 
Gesendet: Freitag, 28. Juni 2013 16:53
An: users@jena.apache.org
Betreff: Re: Reverse proxying Fuseki behind Apache

You can use mod_proxy_html [1] to get the Fuseki interface working behind a reverse proxy.

The following works for me, after installing and enabling the module:
---
# ProxyHTMLEnable On # changed in Apache 2.4 ProxyHTMLInterp On  # Apache 2.2 SetOutputFilter proxy-html

<Location /fuseki/>
     ProxyPass http://localhost:3030/
     ProxyPassReverse /
     ProxyHTMLURLMap / /fuseki/
</Location>
---

You still have to change the location of the XSLT style sheet if you want HTML output from your SPARQL result.

Cheers,
Sören

[1] https://httpd.apache.org/docs/2.4/mod/mod_proxy_html.html
> I've got the same problem: behind a reverse proxy which maps 
> "/beta/fuseki" to ":3030", the control panel does not work any more. 
> ("The requested URL /$/datasets was not found on this server.")
>
> Is there a way to work around this without changing the jar file?
>
> Cheers, Joachim
>
> -----Ursprüngliche Nachricht-----
> Von: Andy Seaborne [mailto:andy.seaborne.apache@gmail.com] Im Auftrag 
> von Andy Seaborne
> Gesendet: Sonntag, 3. Juni 2012 14:14
> An: users@jena.apache.org
> Betreff: Re: Reverse proxying Fuseki behind Apache
>
> On 01/06/12 21:09, Andy Bunce wrote:
>> Thanks for looking at this. My proxy setup is, maybe, simplistic. It 
>> is apache.conf
>>
>> # fuseki
>> ProxyPass /sparql/ http://192.168.1.8:3030/ ProxyPassReverse /sparql/ 
>> http://192.168.1.8:3030/
> We (epimorphics) use the same pattern; we don't use the /pages via /sparql/ though hence not encountering your situation.
>
>> I think adding the explicit content type for tpl is a good thing, but 
>> I can see further steps to support url mounting are maybe not the 
>> best use of resource. I will look at other ways to achieve this.
> Having sat on a train yesterday gave me the chance to think about this.
>
> It is worth trying removing the "/" from "/$" -- the prefix "$" should 
> just appear as a dataset name that isn't a dataset and all should be 
> good., even if the Fuseki server is accessed via
>
> It needs testing though.  IIRC the servlet name has to begin "/" for dispatch, while the name used in the velocity templates would not.
>
> 	Andy
>
>> Cheers /Andy
>>
>> On Fri, Jun 1, 2012 at 10:12 AM, Andy Seaborne<an...@apache.org>  wrote:
>>
>>> On 31/05/12 23:21, Andy Bunce wrote:
>>>
>>>>     Duh, the clue in the dates! Using the 0531 build it works.
>>>> However there are other absolute path problems e.g. In 
>>>> control-panel.tpl
>>>>
>>>>    <form action="/$/datasets
>>>> <view-source:http://orlop.**webhop.info/$/datasets<http://orlop.webhop.info/$/datasets>>"
>>>> method="post">
>>>>
>>>> /Andy
>>>>
>>>>
>>> Thanks for pointing that out.
>>>
>>> Overall observation - the /pages are there as a basis for a simple 
>>> app for Fuseki.  I see them as a starting point.
>>>
>>> The "magic" name $ is used so that the UI support operations are 
>>> distinct from the dataset namespace. Strictly, it means you can't 
>>> have dataset named "$" but that does not seem like a huge restriction.
>>>
>>> When we r-proxy, we do so for a whole virtual host.  What is your setup?
>>>
>>> I think removing the leading "/" is OK but it is there so that the 
>>> pages do not themselves have to be at the root.
>>>
>>> So we have overload - wanting to be able to move the Fuseki root 
>>> about for your reverse proxy case, wanting to have the /pages area 
>>> at different base URL, and wanting a single build configuration.  
>>> I'm not sure what is the best one of those to vary.
>>>
>>>          Andy
>>>

Re: Reverse proxying Fuseki behind Apache

Posted by Sören Brunk <so...@tu-dresden.de>.
You can use mod_proxy_html [1] to get the Fuseki interface working 
behind a reverse proxy.

The following works for me, after installing and enabling the module:
---
# ProxyHTMLEnable On # changed in Apache 2.4
ProxyHTMLInterp On  # Apache 2.2
SetOutputFilter proxy-html

<Location /fuseki/>
     ProxyPass http://localhost:3030/
     ProxyPassReverse /
     ProxyHTMLURLMap / /fuseki/
</Location>
---

You still have to change the location of the XSLT style sheet if you 
want HTML output from your SPARQL result.

Cheers,
Sören

[1] https://httpd.apache.org/docs/2.4/mod/mod_proxy_html.html
> I've got the same problem: behind a reverse proxy which maps "/beta/fuseki" to ":3030", the control panel does not work any more. ("The requested URL /$/datasets was not found on this server.")
>
> Is there a way to work around this without changing the jar file?
>
> Cheers, Joachim
>
> -----Ursprüngliche Nachricht-----
> Von: Andy Seaborne [mailto:andy.seaborne.apache@gmail.com] Im Auftrag von Andy Seaborne
> Gesendet: Sonntag, 3. Juni 2012 14:14
> An: users@jena.apache.org
> Betreff: Re: Reverse proxying Fuseki behind Apache
>
> On 01/06/12 21:09, Andy Bunce wrote:
>> Thanks for looking at this. My proxy setup is, maybe, simplistic. It
>> is apache.conf
>>
>> # fuseki
>> ProxyPass /sparql/ http://192.168.1.8:3030/ ProxyPassReverse /sparql/
>> http://192.168.1.8:3030/
> We (epimorphics) use the same pattern; we don't use the /pages via /sparql/ though hence not encountering your situation.
>
>> I think adding the explicit content type for tpl is a good thing, but
>> I can see further steps to support url mounting are maybe not the best
>> use of resource. I will look at other ways to achieve this.
> Having sat on a train yesterday gave me the chance to think about this.
>
> It is worth trying removing the "/" from "/$" -- the prefix "$" should just appear as a dataset name that isn't a dataset and all should be good., even if the Fuseki server is accessed via
>
> It needs testing though.  IIRC the servlet name has to begin "/" for dispatch, while the name used in the velocity templates would not.
>
> 	Andy
>
>> Cheers /Andy
>>
>> On Fri, Jun 1, 2012 at 10:12 AM, Andy Seaborne<an...@apache.org>  wrote:
>>
>>> On 31/05/12 23:21, Andy Bunce wrote:
>>>
>>>>     Duh, the clue in the dates! Using the 0531 build it works.
>>>> However there are other absolute path problems e.g. In
>>>> control-panel.tpl
>>>>
>>>>    <form action="/$/datasets
>>>> <view-source:http://orlop.**webhop.info/$/datasets<http://orlop.webhop.info/$/datasets>>"
>>>> method="post">
>>>>
>>>> /Andy
>>>>
>>>>
>>> Thanks for pointing that out.
>>>
>>> Overall observation - the /pages are there as a basis for a simple
>>> app for Fuseki.  I see them as a starting point.
>>>
>>> The "magic" name $ is used so that the UI support operations are
>>> distinct from the dataset namespace. Strictly, it means you can't
>>> have dataset named "$" but that does not seem like a huge restriction.
>>>
>>> When we r-proxy, we do so for a whole virtual host.  What is your setup?
>>>
>>> I think removing the leading "/" is OK but it is there so that the
>>> pages do not themselves have to be at the root.
>>>
>>> So we have overload - wanting to be able to move the Fuseki root
>>> about for your reverse proxy case, wanting to have the /pages area at
>>> different base URL, and wanting a single build configuration.  I'm
>>> not sure what is the best one of those to vary.
>>>
>>>          Andy
>>>