Apache Nutch 没有公开其 API
Apache Nutch doesn't expose its API
我正在尝试使用 Apache Nutch 1.x Rest API。我使用 docker 图像来设置 Nutch 和 Solr。您可以在 here
中查看演示存储库
Apache Nutch 使用 Solr 作为其依赖项。 Solr 工作得很好,我可以在 localhost:8983
.
访问它的 GUI
但是,我无法在 localhost:8081
连接到 Apache Nutch 的 API。问题从这里开始。 Apache Nutch 1.X RESTAPI doc 表示我可以这样启动服务器
2. :~$ bin/nutch startserver -port <port_number> [If the port option is not mentioned then by default the server starts on port 8081]
我在 docker-compose.yml 文件中做的。
我也将端口暴露在外面。
ports:
- "8080:8080"
- "8081:8081"
但是我无法从我的计算机上成功调用 API。
其余 API 文档说,如果我向 /admin
端点发送获取请求,我会得到响应。
GET /admin
当我使用 Postman 或浏览器尝试此操作时,它无法连接到服务器并返回 500 错误。
但是,当我使用 docker exec -it
进入容器并尝试卷曲 localhost:8081/admin
时,我得到了正确的响应。所以在容器内 API 和 运行,但它没有暴露在外面。
在我的一次试用中,我在另一个容器中添加了一个前端应用程序,并将其余请求发送到 Solr 和 Nutch 容器。 Solr 成功了,Nutch 失败了 500。这告诉我 Nutch 容器不仅无法访问外部世界,而且无法访问同一网络内的容器。
知道如何解决这个问题吗?
nutch
默认只回复来自 localhost
:
的请求
bash-5.1# /root/nutch/bin/nutch startserver -help
usage: NutchServer [-help] [-host <host>] [-port <port>]
-help Show this help
-host <host> The host to bind the Nutch Server to. Default is
localhost.
因此您需要使用 -host 0.0.0.0
启动它才能从主机或其他容器访问它:
services:
nutch:
image: 'apache/nutch:latest'
command: '/root/nutch/bin/nutch startserver -port 8081 -host 0.0.0.0'
我正在尝试使用 Apache Nutch 1.x Rest API。我使用 docker 图像来设置 Nutch 和 Solr。您可以在 here
中查看演示存储库Apache Nutch 使用 Solr 作为其依赖项。 Solr 工作得很好,我可以在 localhost:8983
.
但是,我无法在 localhost:8081
连接到 Apache Nutch 的 API。问题从这里开始。 Apache Nutch 1.X RESTAPI doc 表示我可以这样启动服务器
2. :~$ bin/nutch startserver -port <port_number> [If the port option is not mentioned then by default the server starts on port 8081]
我在 docker-compose.yml 文件中做的。 我也将端口暴露在外面。
ports:
- "8080:8080"
- "8081:8081"
但是我无法从我的计算机上成功调用 API。
其余 API 文档说,如果我向 /admin
端点发送获取请求,我会得到响应。
GET /admin
当我使用 Postman 或浏览器尝试此操作时,它无法连接到服务器并返回 500 错误。
但是,当我使用 docker exec -it
进入容器并尝试卷曲 localhost:8081/admin
时,我得到了正确的响应。所以在容器内 API 和 运行,但它没有暴露在外面。
在我的一次试用中,我在另一个容器中添加了一个前端应用程序,并将其余请求发送到 Solr 和 Nutch 容器。 Solr 成功了,Nutch 失败了 500。这告诉我 Nutch 容器不仅无法访问外部世界,而且无法访问同一网络内的容器。
知道如何解决这个问题吗?
nutch
默认只回复来自 localhost
:
bash-5.1# /root/nutch/bin/nutch startserver -help
usage: NutchServer [-help] [-host <host>] [-port <port>]
-help Show this help
-host <host> The host to bind the Nutch Server to. Default is
localhost.
因此您需要使用 -host 0.0.0.0
启动它才能从主机或其他容器访问它:
services:
nutch:
image: 'apache/nutch:latest'
command: '/root/nutch/bin/nutch startserver -port 8081 -host 0.0.0.0'