Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Tomcat RemoteHost阀设置返回HTTP 403_Java_Security_Jakarta Ee_Tomcat_Tomcat7 - Fatal编程技术网

Java Tomcat RemoteHost阀设置返回HTTP 403

Java Tomcat RemoteHost阀设置返回HTTP 403,java,security,jakarta-ee,tomcat,tomcat7,Java,Security,Jakarta Ee,Tomcat,Tomcat7,我试图修改Tomcat(7.0.52)的阀门定义,以允许从不同的服务器进行联系 阀门定义如下所示。以前,它是一个RemoteAddrValve,用127.0.0.1定义(只允许从本地主机访问)。这很有效。对于新定义,AddrValve已更改为HostValve,并输入了远程服务器的完整限定域名。现在,当从那个远程服务器点击那个Tomcat实例时,我总是得到一个HTTP403:“对指定资源的访问已被禁止” <Context debug="0" swallowOutput="true">

我试图修改Tomcat(7.0.52)的阀门定义,以允许从不同的服务器进行联系

阀门定义如下所示。以前,它是一个RemoteAddrValve,用127.0.0.1定义(只允许从本地主机访问)。这很有效。对于新定义,AddrValve已更改为HostValve,并输入了远程服务器的完整限定域名。现在,当从那个远程服务器点击那个Tomcat实例时,我总是得到一个HTTP403:“对指定资源的访问已被禁止”

<Context debug="0" swallowOutput="true">

    <!-- This causes session data to NOT be persisted to disk across tomcat restarts -->
    <Manager pathname=""/>

    <Valve className="org.apache.catalina.valves.AccessLogValve"
             directory="logs"  prefix="blackduck_solr_access_log." suffix=".txt"
             pattern='%{yyyy-MM-dd HH:mm:ss,SSS}t [%I] %h "%r" %s %b'/>

    <!-- JVCS-646 solr access to  localhost only -->
    <Valve className="org.apache.catalina.valves.RemoteHostValve"
            allow="FQDN_HERE" />
</Context>

我没有设置这台服务器,而且显然不是Tomcat安全方面的专家。上面显示的内容放在以下目录中的一个文件中:./tomcat/conf/Catalina/localhost


我知道文件正在处理中,因为如果语法不正确,我会出错。此外,如果我删除它,那么访问是完全开放的。有人能帮助解决问题吗?

两点:1)主机名是否可以从部署tomcat的主机解析?2) 您是否知道
allow=”“
包含一个regexp,而不是一个字符串?#1。公平地说,是的,ping和nslookup都可以很好地解决主机问题#2.我知道这是一个regexp,但我一直在假设regex中FQDN中的“.”与实际FQDN中的“句点”匹配。AccessLogValve是否记录403ed访问?如果是,将记录的主机名与RemoteHostValve中的主机名匹配?我在tomcat8中遇到了相同的问题@see:您是否尝试添加:
enableLookups=“true”