Tomcat仅限制对特定域名的访问

Tomcat仅限制对特定域名的访问,tomcat,solaris-10,Tomcat,Solaris 10,运行tomcat的服务器有两个域名,比如example1.com和example2.com。我想限制对tomcat的访问,这样,它只能通过example2.com访问。当任何人尝试使用example1.com或IP地址时,tomcat应该会出现一些错误,如找不到页面 由于我无法接触DNS条目,我是否可以在tomcat中建立此限制???您将无法完全阻止它:TCP连接由地址的IP完成,并且无法知道查询哪个域名以查找该IP。除非更改DNS,否则没有绝对的解决方案,即使这样,您也无法阻止IP访问 一种方

运行tomcat的服务器有两个域名,比如example1.com和example2.com。我想限制对tomcat的访问,这样,它只能通过example2.com访问。当任何人尝试使用example1.com或IP地址时,tomcat应该会出现一些错误,如找不到页面


由于我无法接触DNS条目,我是否可以在tomcat中建立此限制???

您将无法完全阻止它:TCP连接由地址的IP完成,并且无法知道查询哪个域名以查找该IP。除非更改DNS,否则没有绝对的解决方案,即使这样,您也无法阻止IP访问

一种方法是通过主机阻止任何请求:与example2.org不同。例如,使用自定义过滤器:

@凌驾 public void doFilterServletRequest请求、ServletResponse响应、, FilterChain链抛出IOException、ServletException{ if!request.getServerName.equalsExample2.com{ HttpServletResponse.sendError403; }否则{ chain.doFilterrequest,响应; } } 或者您可以在tomcat中定义2/3个主机。一个主机(如example2.com)和您的应用程序,一个默认主机只发送错误页面


正如我所说,这还远远不够完美,因为通过更改主机头可以轻松绕过它。

谢谢。我也想到了这个。但通过接受请求,客户机已经成功地建立了HTTPS连接,并且将知道example1和example2是同一台机器。让我试试解决办法。