我正在使用 Apache Solr 附带的码头来运行 Solr。我想配置码头,使其只接受来自特定 IP 地址的连接。我知道我可以将码头绑定到 127.0.0.1 以仅接受来自本地主机的连接:
<Set name="host"><SystemProperty name="jetty.host" default="127.0.0.1" /></Set>
但是我如何设置它以便它也可以接受来自某些非本地主机 IP 地址的连接?
我正在使用 Apache Solr 附带的码头来运行 Solr。我想配置码头,使其只接受来自特定 IP 地址的连接。我知道我可以将码头绑定到 127.0.0.1 以仅接受来自本地主机的连接:
<Set name="host"><SystemProperty name="jetty.host" default="127.0.0.1" /></Set>
但是我如何设置它以便它也可以接受来自某些非本地主机 IP 地址的连接?
您可以使用码头 7、8 和 9 中的 IPAccessHandler
http://download.eclipse.org/jetty/stable-9/apidocs/org/eclipse/jetty/server/handler/IPAccessHandler.html
您可以将其连接到处理程序链中,以便它在处理程序链中的任何其他内容之前执行
[edit] 同时查看 $jetty.home/etc 下的 jetty-ipaccess.xml 文件
http://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/tree/jetty-server/src/main/config/etc/jetty-ipaccess.xml
您可以让 iptables 或 xinetd 将流量从端口 8080 或 80 重定向到您让码头侦听的端口。两者都可以为此限制到某些 IP 地址。
例子可以在这里找到