tomcat 8远程霍斯特瓦尔夫不起作用



对我的服务器的访问应限于某些远程主机,我想允许Uptimerobot监视我的服务器。

当前UpTimerobot始终获得403禁止。

我添加了server.xml看起来像这样:

<Server .........>
  <Service name="Catalina">
      <Engine>
        <Value className="org.apache.catalina.valves.RemoteHostValve" allow=".*.uptimerobot.com" />
      </Engine>
  </Service>

匹配此列表中的所有主机

,但是重新启动服务器后什么都没有改变,仍然403。

我还尝试使用一个没有通配符的域名:

allow="engine19.uptimerobot.com"
allow="engine19.uptimerobot.com"

但仍然403,

我尝试使用添加

启用hostnamelookups
enableLookups="true"

<Connector标签,但再次没有效果。

但是,在我的日志中,我看到访问已解决到" Engine19.uptimerobot.com" wich匹配我的远程主机模式。

有什么想法,为什么仍然禁止它?

编辑:

通过

通过IP访问
 <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="63.143.42.244"/>

正在工作。但是我不想在那里添加IP的整个列表。RemoteAddrValveRemoteHostValve是否有可能互相打扰?

我已经尝试过,这对我有用

将USEIPVHOST设置为true在连接器中(Inside server.xml)。

我正在使用HTTP连接器,看起来如下

<Connector port="8080" protocol="HTTP/1.1"
    connectionTimeout="20000"
    redirectPort="8443"
    enableLookups="true"
    useIPVHosts="true" />

属性的详细信息可以在此处找到

检查tomcat/logs/local_access_log ...要查看403使用的主机名。

我发现我们的公司DNS在所有大写和所有小写字母中都报告了一些名称。使用(?i)使得不敏感:

allow="(?i)engine19.uptimerobot.com"

如果您同时具有远程Hostvalve和RemoteadDvalve,则必须允许传入的主机。如果两者不允许,则将返回403。

相关内容

  • 没有找到相关文章

最新更新