公开Graylog Azure VM

时间:2018-04-24 15:11:52

标签: azure ubuntu-16.04 graylog2

这里有一个菜鸟问题,但我已经坚持了一段时间。我有一台运行Ubuntu 16.04的Azure VM,我用它来运行Graylog。我已按照他们的文档进行安装和配置,并且我在web_listen_uri127.0.0.1:9000 rest_listen_uri运行127.0.0.1:12900,根据他们的运行建议两个在不同的端口上。

我已使用service graylog-server status检查了守护程序的状态,并且在vm上运行curl http://127.0.0.1:9000会返回Graylog Web界面的html,到目前为止一直很好。

我允许9000端口上的传入和传出流量为iptables,默认行为为ALLOW。从安全的角度来看,我认为这不是最好的,但它是一个开发设备,它在自己的vnet上,没有Azure cli访问权限(我在配置vm后禁用了它)。

当我在Azure中创建规则以允许VM上的连接到9000时,我仍然无法连接。我将入站安全规则添加到网络安全组,并且VM的网络接口与该nsg相关联。出站规则允许端口9000流量输出到互联网。

我的浏览器仍然无法连接到端口9000上的虚拟机公共IP地址。我在这里缺少什么?

修改

所以我原来的预感是正确的,localhost无法从外部访问。更改rest_listen_uri = http://0.0.0.0:12900rest_transport_uri = http://my.public.ip.addr:12900web_listen_uri = http://0.0.0.0:9000后,我终于可以连接到实际网站了。但是,现在它返回rest_transport_uri的服务器不可用。如果我curl http://localhost:12900/system/cluster/node我没有得到任何回报,没有超时,没有错误,没有成功。我的配置中缺少什么?

1 个答案:

答案 0 :(得分:0)

对于像我这样在这里挣扎的其他人,我在这里找到了一个很好的答案:https://community.graylog.org/t/server-currently-unavailable-error-is-coming-while-trying-to-access-from-browser/503/2

为了解释这一点,私有IP地址对应eth0上的网络地址。这可以通过ip route get 8.8.8.8 | awk '{print $NF; exit}'找到。此处的命令将默认为链接到外部网络接口eth0的地址,而不必明确命名它。在另一个stackoverflow上找到该命令的答案。

公共IP地址正是服务器/ vm / machine的公共ip。这可以通过curl ifconfig.me找到。

要完成此操作,请使用vim server.conf并添加以下内容:

rest_listen_uri = http://<your.private.ip.addr>:12900 web_listen_uri = http://<your.private.ip.addr>:9000 web_endpoint_uri = http://<your.public.ip.addr>:12900

保存,退出并使用sudo systemctl daemon-reload && sudo systemctl restart graylog-server.service,等待它重新启动,然后继续使用您的浏览器登录。