cors - 无法使用 Blazegraph (localhost :9999, Jetty) 设置 CORS 以从另一个端口 (localhost :600, http-server) 进行访问

标签 cors jetty httpserver same-origin-policy blazegraph

我一直在运行MediaWiki with WikibaseWikidata Query Service ( GitHub ),以及 Wikidata Query Service GUI在远程 Ubuntu 服务器上。我正在通过隧道进入该服务器,以便访问本地计算机上的内容。

GUI(在服务器上运行于 localhost:8080,在本地计算机上运行于 localhost:600)正在尝试联系查询服务,特别是 Blazegraph,它通过 Jetty 服务器运行(服务器和本地计算机上的 localhost:9999)机)。

一切都在单独的组件中运行(成功安装,没有错误),如果在 Blazegraph UI 中输入 SPARQL 查询或将其复制粘贴到浏览器中,则会生成正确的 RDF 输出。但是,如果从维基数据查询服务 GUI 运行查询,它会生成 net::ERR_FAILED 200 和:

Access to XMLHttpRequest at 'http://localhost:9999/bigdata/sparql' from origin 'http://localhost:600' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

维基数据查询服务 GUI 使用 npm start 运行,后者又运行 http-server --cors='*'localhost:9999 上的 Blazegraph 使用以下命令运行:

sudo BLAZEGRAPH_OPTS="-DwikibaseConceptUri=http://localhost:400" bash /var/lib/mediawiki/extensions/wikidata-query-rdf/dist/target/service-0.3.111-SNAPSHOT/runBlazegraph.sh

我不确定如何允许维基数据查询服务 GUI 访问维基数据查询服务,因此我们将不胜感激!

更新 1:说这是 Jetty 9 可能会有所帮助吗?

最佳答案

我终于想通了,通过在 /etc/apache2/sites-enabled/000-default.conf 中添加代理,如下所示:

<VirtualHost *:9000>
    Header add Access-Control-Allow-Origin "*"

    ProxyPreserveHost On

    ProxyPass / http://127.0.0.1:9999/
    ProxyPassReverse / http://127.0.0.1:9999/
</VirtualHost>

然后监听来自 localhost:8080->localhost:9000 的调用,并将调用重定向到 localhost:9999。我还在相关的 Phabricator 中添加了更多信息。页。

关于cors - 无法使用 Blazegraph (localhost :9999, Jetty) 设置 CORS 以从另一个端口 (localhost :600, http-server) 进行访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72244418/

相关文章:

python - 来自源 'https://storage.googleapis.com' 的字体已被跨源资源共享策略阻止加载

angular - 在 MEAN 应用程序中使用 passport-facebook 进行 facebook 登录时出现 CORS 错误

java - 如何在jetty请求日志中添加毫秒字段?

amazon-ec2 - 亚马逊 EC2 : Jetty Unaccessible

java - 保持 HttpServer 的 Activity

Python HTTPServer - 获取 HTTP 正文

Objective-C:什么是 [ClassName self];做?

node.js - nginx 反向代理设置在执行 CORS 请求时不保留 session ID

kubernetes - CORS 规则 nginx-ingress 规则

java - 嵌入式 jetty ServletTester 提供单个静态文件