Tomcat域名或IP地址访问方式配置方法
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="." />