On 14/02/2022 20:59, aj...@apache.org wrote:
I'm afraid that doesn't work because I'm interested in proxying the entire
application, not a single dataset. I want to expose the whole UI, admin,
SPARQL editor and all.

I've tried proxying as you describe using --localhost, but the static
resources and JavaScript that compose the UI don't come through properly
when I have a path fragment on the other side a la:

ProxyPass /fuseki http://localhost:3030

  I'd really rather not get into rewriting HTML! I was hoping for a simple:

ProxyPass /fuseki http://localhost:3030/fuseki

style of action.

Does that make sense?

yes, and it should work.

What's the problem?
Does http://localhost:3030/fuseki work on it's own?

sparql.org is behind httpd:

<VirtualHost *:80>
  ServerName sparql.org
  ServerAdmin ...@....

  ## Vhost docroot
  DocumentRoot "/var/www/html"

  ## Directories, there should at least be a declaration
  ## for /var/www/html

  <Directory "/var/www/html">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Require all granted
  </Directory>

  ## Logging
  ErrorLog "/var/log/apache2/sparql.org.error.log"
  ServerSignature Off
  CustomLog "/var/log/apache2/sparql.org.access.log" combined

  ## Server aliases
  ServerAlias www.sparql.org
  ServerAlias sparql.net
  ServerAlias www.sparql.net

  ## Custom fragment
  ProxyPass / http://127.0.0.1:3030/ max=4
  ProxyPassReverse / http://127.0.0.1:3030/
  ProxyPreserveHost On
  RequestHeader set X-Forwarded-Proto http

</VirtualHost>


PS JENA-2281 for improving the path routing.


Adam


On Mon, Feb 14, 2022, 2:27 PM Andy Seaborne <a...@apache.org> wrote:



On 14/02/2022 17:30, aj...@apache.org wrote:
I'm probably missing something obvious, because I haven't looked at
Fuseki
in quite some time. I cannot seem to find any way to set the servlet
context path for Fuseki in its standalone (non-WAR) incarnation, which I
want to do in order to get it proxied behind httpd.

For Fuseki standalone server (in the download) and Fuseki Main:

Set the name of the dataset to a path. The name can have a "/" in it but
it seems to need the service name to help it distinguish between the
"sparql" query service and /some/path/dataset thinking "dataset" is the
service (routing has been decided before the named services are
available to inspect).

fuseki-server /some/path/dataset/sparql

Is that enough for you?

BTW:

One way to proxy is to run it on a known port and then use --localhost -
the Fuseki server then will only talk to HTTP traffic on the localhost
interface (IPv4 or IPv6), not to directly sent traffic.

      Andy

Is there a setting here, or will I have to define a Jetty configuration
(in
which case, do we have an example available?)?

Thanks for any info!

Adam



Reply via email to