我试图阻止我的REST开发-应用Tomcat -从我的笔记本电脑外面。我发现有希望的解决方案是introduce a valve for Tomcat
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1"/>它在Linux上工作:目的是让localhost:8080按预期的方式访问本地Tomcat安装,而任何来自intranet上任何地方的<my-laptop-IP>:8080都将被拒绝。
不幸的是,这在我的Buster笔记本电脑( Linux客户)上工作得很好,但无论是在我的VirtualBox来宾安装上,还是在本地的Win10笔记本电脑上都是如此: Windows上的阀门也阻止了对Tomcat的localhost:8080访问,尽管我认为allow属性应该允许它。(这意味着我的休息器在Win10上被那个阀门阻塞了。)
我的问题是:为什么上述阀门在installations? Win10上的性能不像预期的那样?
附注:我用tomcat-9和tomcat-10做了测试。
发布于 2021-10-31 18:41:30
在大多数现代操作系统上,localhost首先解析为IPv6地址::1,然后解析为IPv6 address 127.0.0.1。
根据使用IPv6地址的连接器,localhost可能出现在缩写形式::1或完整表单0:0:0:0:0:0:0:1中,因此您的正则表达式应该允许这两种表示:
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1"/>https://stackoverflow.com/questions/69786709
复制相似问题