我安装了一个virtuoso sparql端点,我想通过一个主机名(例如www.virtuosoexample.com)提供这个端点。 与virtuoso的东西是没有文档的根。 端点由守护进程启动,并通过源端口(例如localhost:1234 /)提供。
我知道如何设置一个虚拟主机指向一个文档根,但我不知道如何做一个端口号的服务器。
任何意见,将不胜感激。
下面是代码,我将如何做一个文档根。
我试图改变(天真)到localhost:1234 / sparql,但没有奏效
<VirtualHost *>
ServerName www.virtuosoexample.com <www.virtuosoexample.com> ServerAlias www.virtuosoexample.com <www.virtuosoexample.com> ErrorLog /var/log/apache2/error.wp-sparql.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/access.wp-sparql.log combined DocumentRoot /var/www/endpoint/sparql/ <Directory /var/www/endpoint/sparql> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory>
</虚拟主机>
你不会用Apache的DocumentRoot来做这件事。 相反,您可以使用mod_proxy
并将Apache设置为反向代理。
你会添加像这样的东西:
ProxyPass / http://localhost:1234/sparql ProxyPassReverse / http://localhost:1234/sparql
到你的configuration。 确保mod_proxy是由Apache加载的。
这是官方文件 。
你可以使用mod_proxy。 例如:
NameVirtualHost * <VirtualHost *> ServerName www.virtuosoexample.com ProxyRequests Off ProxyPass / http://localhost:1234/ ProxyPassReverse / http://localhost:1234/ </VirtualHost>
有关更多详细信息,请参阅apache文档 。
请注意,如果您希望将http://www.virtuosoexample.com/
代理到http://localhost:1234/sparql
,那么如果virtuoso返回的链接不是相对链接,则可能会遇到一些问题。 如果是这样,你可以考虑使用mod_proxy_html或mod_substitute