我无法使Apache Solr安装成功响应。
我迅速发表评论,在数字海洋中有一个Wordpress发行版,我安装了Apache sorl,显然运行正常。
$ service solr status
● solr.service - LSB: Controls Apache Solr as a Service
Loaded: loaded (/etc/init.d/solr; bad; vendor preset: enabled)
Active: active (exited) since Tue 2019-06-18 20:20:55 UTC; 1 day 9h ago
Docs: man:systemd-sysv-generator(8)
Process: 4342 ExecStop=/etc/init.d/solr stop (code=exited, status=0/SUCCESS)
Process: 4458 ExecStart=/etc/init.d/solr start (code=exited, status=0/SUCCESS)
Tasks: 0
Memory: 0B
CPU: 0
ip xxx.xx.xxx.xxx是我的Droplet IP,我只希望可以从该IP查询到Apache sorl。
$ ufw status
WARN: / is group writable!
Status: active
To Action From
-- ------ ----
22 ALLOW Anywhere
443 ALLOW Anywhere
80 ALLOW Anywhere
Nginx HTTP ALLOW Anywhere
8983 ALLOW xxx.xx.xxx.xxx
22 (v6) ALLOW Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)
80 (v6) ALLOW Anywhere (v6)
Nginx HTTP (v6) ALLOW Anywhere (v6)
如果我过滤ips以查看是否已配置
$ sudo netstat -lntp | grep 8983
tcp 0 0 127.0.0.1:8983 0.0.0.0:* LISTEN 4507/java
从我的Droplet服务器(ssh)内部执行ping操作。
$ ping http://localhost:8983/solr
ping: unknown host http://localhost:8983/solr
如何从apache solr得到答案,这是怎么回事?
答案 0 :(得分:0)
首先,您看到的是由Solr默认情况下仅侦听回送接口引起的。这是为了避免人们无意间将Solr直接暴露于互联网(这并非本意)。 netstat命令显示以下内容:
tcp 0 0 --> 127.0.0.1:8983 <--
要更改Solr侦听的接口,可以将-Djetty.host=<ip>
添加到启动Solr时使用的SOLR_OPTS。如何完成此操作取决于您如何安装Solr,但通常是通过solr.in.sh
或类似的方式完成的。
第二:确保默认情况下将防火墙设置为禁止连接,否则单个“允许端口”将保持不变。从主机外部进行测试,以确保不会将Solr暴露给整个互联网。
第三:ping
不能那样工作。 ping <ip>
是您使用ping
实用程序的方式,它会将ICMP数据包发送到ip(或解析为ip的主机)并等待响应。它不适用于http
URL,给定端口或端点路径。