Solr安全pipe理面板

我已经为我的网站之一安装了Solr(v 4.2.1),并且我正在使用Jetty运行Solr来保护pipe理面板。 我没有使用tomcat我编辑了示例/ etc / jetty.xml并修改了主机的值来读取

<Call name="addConnector"> <Arg> <New class="org.eclipse.jetty.server.bio.SocketConnector"> <Set name="host"><SystemProperty name="jetty.host" default="10.100.202.42"/></Set> <Set name="port"><SystemProperty name="jetty.port" default="8983"/></Set> <Set name="maxIdleTime">50000</Set> <Set name="lowResourceMaxIdleTime">1500</Set> <Set name="statsOn">false</Set> </New> </Arg> </Call> 

我启动服务器,并绑定到

:: FFFF:10.100.202.42:8983

但是,我可以通过使用站点的外部IP访问pipe理面板。 我错过了什么吗?

输出ifconfig -a

 eth0 Link encap:Ethernet HWaddr 00:50:56:84:00:02 inet addr:10.100.202.42 Bcast:10.255.255.255 Mask:255.255.0.0 inet6 addr: fe80::250:56ff:fe84:2/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:546942285 errors:0 dropped:0 overruns:0 frame:0 TX packets:482684266 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:80045331498 (74.5 GiB) TX bytes:184397661148 (171.7 GiB) 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:16436 Metric:1 RX packets:230200 errors:0 dropped:0 overruns:0 frame:0 TX packets:230200 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:335195301 (319.6 MiB) TX bytes:335195301 (319.6 MiB) 

 netstat -apn|grep 8983 tcp 0 0 ::ffff:10.100.202.42:8983 :::* LISTEN 17133/java tcp 0 0 ::ffff:10.100.202.42:8983 ::ffff:10.100.202.44:36223 TIME_WAIT - tcp 0 0 ::ffff:10.100.202.42:8983 ::ffff:10.100.202.44:35096 TIME_WAIT - 

谢谢

ifconfig输出中,显然你的服务器根本就没有真正的(即公共可路由的,非RFC1918)地址。 但是你的问题引用了这个服务器可以访问的公共地址。 这意味着在你的服务器之前有一些东西把私有地址转换成一个真正的地址(这可能是一个亚马逊云服务器,任何机会?)。

这给了,你不能达到你想要的绑定到私人地址,并假设没有人可以通过公共地址到达那里。 你需要用本地iptables逻辑来解决这个问题,以防止连接到端口8983的“非本地”地址(你需要定义“非本地”地址),或者在NAT设备上执行公私映射。