Tomcat是否接受IP?

时间:2009-09-21 17:43:30

标签: tomcat sun

我有一个Tomcat应用程序,它充当Sun Systems Connect的Web服务器/网关(它本身就是通向Systems Union Accounts的网关,我怀疑它是通向幸福的途径)。

只要我使用机器名称(或本地的localhost),我就可以通过浏览器访问应用程序的登录页面。 但是机器IP和Localhost都不允许我看到登录页面。

Sun告诉我这是Tomcat的“功能”。不幸的是,开发和生产中的帐户机器具有相同的名称(不同的域),所以我不知道我是否在dev或live box上运行测试。 如果没有更改框名称,我可以强制Tomcat接受IP吗?

3 个答案:

答案 0 :(得分:1)

Tomcat对IP没有任何了解。 IP仅被视为主机名。您需要确保配置允许IP。你有几个选择来实现这一目标。

如果为引擎添加defaultHost,则任何不匹配的主机名或IP都将使用此虚拟主机。例如,

<Engine name="Standalone" defaultHost="example.com">

如果您想要更多控制权,您还可以将IP添加为别名,例如

<Host appBase="webapps" name="example.com">
   <Alias>192.168.1.2</Alias>
</Host>

还有许多其他原因导致IP被拒绝,

  1. SSL不允许使用IP,因为证书对IP地址一无所知。
  2. 如果您在Apache或前端交换机上使用虚拟主机,它通常基于您使用的主机名的决定,并且它不知道如何路由IP。
  3. 您可能有一些安全过滤器或规则来检查HTTP中的主机标头,并专门删除来自未知主机的请求。
  4. 查看日志可能会显示确切原因。

答案 1 :(得分:0)

我使用Tomcat已经有一段时间了,但我认为默认情况下您可以通过名称或IP地址调用Web服务。我不知道这是否有帮助,但您可以尝试在server.xml中为IP地址设置virtual host,例如添加类似

的节
<Host name="localhost" debug="0" appBase="webapps" unpackWARs="true">

但将“localhost”替换为您机器的IP地址。

答案 2 :(得分:0)

http://tomcat.apache.org/tomcat-4.1-doc/config/valve.html讨论强制DNS查找的resolveHosts标志,也可以调整显示给%A参数之一的模式,你可以列出日志中的IP地址。