Tomcat域名或IP地址访问方式配置方法

时间:2021-03-31 16:53:08
1、配置www.***.com域名方式访问
在Tomcat下面配置域名(如:www.***.com)的时候,同时又不希望客户通过我们网站的IP或者域名访问到Tomcat默认的ROOT,配制方法如下:
  1、打开Tomcat安装目录下的/conf/server.xml文件
  2、在server.xml中将原有的<Host name=“localhost“ appBase=“webapps“ ……>修改为<Host name=“您要配置的域名“ appBase=“webapps“……>
  3、在/conf/Catalina目录下建立目录“<您要配置的域名的名称>”,然后建立ROOT.xml文件,其格式和/conf/localhost目录下的ROOT.xml一致,但是内容如下:
   < ?xml version='1.0' encoding='utf-8'?>
   <Context displayName="Welcome to 56World!" docBase="D:/workplace/inbuilding" path="">
   </Context>
  其中docBase中的内容就是你希望的打开您的域名(www.***.com) 的时候映射到的目录和默认的网页(如:index.jsp)
  4、启动Tomcat服务器,就可以直接敲入域名访问你要访问的地址了。
2、配置ip地址方式访问(不需要项目名)
最近遇到一个朋友,他提出配置在tomcat下的项目不要用以往的访问方式”http://200.200.200.135:8080/Test“访问,他想只要输入一个IP地址即可访问。
于是到网上查资料,找到了解决的办法,就是更改tomcat的server.xml文件中的<Host></Host>中的内容,具体修改如下所述:(使用的是Tomcat6.0)

【原tomcat的server.xml文件中的Host部分内容】

Xml代码
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">

<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->

<!-- Access log processes all example.
Documentation at: /docs/config/valve.html -->
< !--
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
-->
</Host>

<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">

<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->

<!-- Access log processes all example.
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
-->
</Host> 【修改后的server.xml文件中的Host部分】

Xml代码
<Host name="200.200.200.135" appBase="webapps/membermanage"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">

<Context path="" docBase="." />

<Context path="/membermanage" docBase="." />
</Host>

<Host name="200.200.200.135" appBase="webapps/membermanage"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">

<Context path="" docBase="." />

<Context path="/membermanage" docBase="." />
</Host>name后面可以填IP也可以是域名,如www.os.cn,这样修改以后,可以实现直接用http://200.200.200.135:8080访问,可以看到不用加入项目名称了,但是还需要加端口号,我的解决办法是再将tomcat的访问端口改成80(前提是项目有单独的服务器,80端口不要被别的软件占用等),这样就可以实现直接用http://200.200.200.135访问了。
备注:以上方法,在Tomcat6.0测试通过,如果是tomcat5.x,在按照上述方法配置后不成功的话,可能<Context path="" docBase="." /> 这里要改成<Context path="/" docBase="." />