Hi Pierre,


Although I have been looking through the documentation, I could not find
if it is possible to have the sparql endpoint on a different port than
the conductor ?
For security reason I would like to keep my conductor listening on a
different port and be able to publish my sparql endpoint on port 80 (or
os).

If that is not possible, I would be interested in the feedback on the
approach taken by projects already using virtuoso (bio2rdf? dbpedia ?)


Virtuoso's web server has the capability to create extra listeners using the conductor interface which is documented here:

  
http://docs.openlinksw.com/virtuoso/htmlconductorbar.html#admui.internetdomains



At install time you have your HTTP Server port in your virtuoso.ini set to 8890, which you want to keep in your local network as this contains ALL the endpoints that you have registered in Virtuoso. So as long as you do not open this port in your firewall, you can only get at it from the local machine.

Next you create a new vhost entry using the EXTERNAL name of your machine and use port 80 (or a higher port if you do not want to run as root) e.g:

        Interface: 0.0.0.0
        Port: 8080
        Http Host:  my.example.com

Next you add a "New directory to this line", click on "Type" radio button and choose "Sparql access point" from the dropdown list and press Next button. Set "Path" to /sparql and press the "Save Changes" button to store.

At this point you have created:

        http://my.example.com:8080/sparql

which functions exactly the same as your internal http://localhost:8890/sparql . You can now open your firewall and allow outside machines to connect to port 8080 so people can use your sparql endpoint without access to any other endpoint on your virtuoso installation.

You should probably also change your virtuoso.ini so:

        [URIQA]
        DefaultHost = my.example.com:8080


If you use port 80, you do not have to add :80 at the end of this setting, although it should not make any difference.


You can now add other directories / endpoints to the new my.example.com interface you just created e.g. a nice / directory that points to a index.html which describes your site etc.


Patrick
---
OpenLink Software

Reply via email to