添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

我如何设置对Blazegraph服务器的远程访问?

3 人关注

我试图远程访问我的Blazegraph服务器,它运行在Azure的Ubuntu虚拟机上。所以我想用它的公共IP地址访问服务器,例如51.123.45.234:9999。我改变了Azure中的防火墙设置,允许9999端口的流量进入,但目前我只能通过以下方式访问服务器。

curl 127.0.0.1:9999
curl localhost:9999

当我连接到服务器时,我无法从ssh shell中获取信息。当我在连接的ssh shell上尝试服务器的IP时,我甚至无法与服务器连接。

ifconfig
eth0  Link encap:Ethernet  HWaddr 00:0d:3a:28:cd:60
      inet addr:10.0.0.4  Bcast:10.0.0.255  Mask:255.255.255.0
      inet6 addr: fe80::20d:3aff:fe28:cd60/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:208531 errors:0 dropped:328 overruns:0 frame:0
      TX packets:178597 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:170613969 (170.6 MB)  TX bytes:28500224 (28.5 MB)
lo    Link encap:Local Loopback
      inet addr:127.0.0.1  Mask:255.0.0.0
      inet6 addr: ::1/128 Scope:Host
      UP LOOPBACK RUNNING  MTU:65536  Metric:1
      RX packets:6387 errors:0 dropped:0 overruns:0 frame:0
      TX packets:6387 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1
      RX bytes:565256 (565.2 KB)  TX bytes:565256 (565.2 KB)

该IP是虚拟机所在的虚拟网络的IP,而不是公共网络的IP。 而如果我尝试

curl 10.0.0.4:9999

I get:

curl: (7) Failed to connect to 10.0.0.4 port 9999: Connection refused

I set up up my server following the instructions here.我还改变了我的.ssh/config to:

Host queryserver
LocalForward localhost:9999 127.0.0.1:9999

我还跑了netstat to check if the server is listening:

netstat -ln | grep 9999
tcp6       0      0 127.0.0.1:9999          :::*                    LISTEN

My iptables shouldn't be the problem:

sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

我怎样才能解决这个问题呢?

2 个评论
你是否为虚拟机创建了一个入站安全规则?
是的,我在azure的网络安全组中添加了一个。
linux
azure
wikidata
blazegraph
user128574
user128574
发布于 2017-03-26
2 个回答
Igor Kim
Igor Kim
发布于 2017-03-27
已采纳
0 人赞同

Wikidata-query-rdf启动jetty servlet容器并安装blazegraph-service-*.war,注意它指定了--host $HOST,在runBlazegraph.sh脚本中默认为'localhost'。

根据 Jetty配置 , 如果指定了 --host,它就定义了要监听的接口,所以默认情况下,由Wikidata-query-rdf运行的Blazegraph只监听localhost接口。

在运行runBlazegraph.sh时指定-h your_ip 。

./runBlazegraph.sh -h 10.0.0.4

如果这还不能解决问题,你可能需要使用0.0.0.0主机名在所有接口上进行监听,并启用首选JAVA的IPv4协议栈):

./runBlazegraph.sh -h 0.0.0.0 -o -Djava.net.preferIPv4Stack=true
    
Shui shengbao
Shui shengbao
发布于 2017-03-27
0 人赞同
tcp6       0      0 127.0.0.1:9999          :::*                    LISTEN