如何允许/限制某些计算机名访问tomcat服务器?

如何允许/限制某些计算机名访问tomcat服务器?,tomcat,Tomcat,我在我的计算机上打开了一个服务器。我所有在同一网络上的朋友都可以从他们的计算机上访问它。但我只想让我的一个朋友访问。因此,我尝试在我的context.xml <Context> <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="myFriendsComputerName" /> </Context> 他收到错误403拒绝访问 然后我试

我在我的计算机上打开了一个服务器。我所有在同一网络上的朋友都可以从他们的计算机上访问它。但我只想让我的一个朋友访问。因此,我尝试在我的
context.xml

<Context>
    <Valve className="org.apache.catalina.valves.RemoteAddrValve"
        allow="myFriendsComputerName"
    />
</Context>

他收到错误403拒绝访问


然后我试着

<Context>
    <Valve className="org.apache.catalina.valves.RemoteAddrValve"
        allow="127\.0\.0\.1"
    />
</Context>

这限制了我自己的计算机访问


我的
context.xml
RemoteAddrValve
总是使用IP地址,这有什么问题吗。如果要按主机名进行限制,请使用
RemoteHostValve
。请注意,您使用的是正则表达式,因此如果需要,您可以匹配客户机主机名的一部分(但这样会有点不安全)


还请注意,如果您的服务器上已禁用DNS解析,您仍将与远程客户端的IP地址进行比较,因此您可能希望通过允许主机名或IP地址来进行IP回退。

您必须使用RemoteHostValve而不是RemoteAddrValve,并使用主机的FQDN。因此,如果您的域是mydomain.com,请使用:

<Context>
    <Valve className="org.apache.catalina.valves.RemoteHostValve"
        allow="myFriendsComputerName.mydomain.com"
    />
</Context>
nslookup x.y.w.z