参考:tomcat虚拟主机配置方法详解html
参考:虚拟主机(虚拟站点)的配置web
Tomcat openSSL自定义签名证书生成与部署apache
在Tomcat中虚拟目录默认是webapps,可是对于项目位置,咱们也能够自行设置Context来实现,一个Host下能够设置多个Context;跨域
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <!--Host: name表示访问网址,appBase为网络地址可访问目录,unpackWARs是否解压war软件包,autoDeploy是否自动部署网站> <Context path="" docBase="." debug="0" reloadable="true"/> <!--Context是指物理部署环境,docBase是指网站实际放置位置,这里和appBase造成虚拟映射,debug是否开启调试模式,reloadable表示是否能够从新部署--> <Context path="/bbs" docBase="E:/mytest/portal" debug="0" reloadable="true"/> <Context path="/admin" docBase="E:/mytest/sys/admin" debug="0" reloadable="true"/> <Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="www_appTest_com." suffix=".txt" timestamp="true"/> </Host>
修改Tomcat配置文件 /conf/server.xml,在Engine标签内,底部添加相似以下的配置tomcat
<Host name="www.appTest.com" appBase="webapps/appTest" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <!--Host: name表示访问网址,appBase为网络地址可访问目录,unpackWARs是否解压war软件包,autoDeploy是否自动部署网站> <Context path="" docBase="." debug="0" reloadable="true"/> <!--Context是指物理部署环境,docBase是指网站实际放置位置,这里和appBase造成虚拟映射,debug是否开启调试模式,reloadable表示是否能够从新部署--> <Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="www_appTest_com." suffix=".txt" timestamp="true"/> </Host>
在咱们没有域名的状况下,DNS解析找不到站点,这时咱们须要修改hosts文件,映射虚拟地址主机IPcookie
201.18.2.102 www.appTest.com网络
或者为了只让局域网主机访问,能够以下设置,映射你的内外ipapp
192.168.1.112 www.appTest.comwebapp
固然,咱们能够配置咱们的子域名网站
<Host name="www.appTest.com" appBase="webapps/appTest" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="" docBase="." debug="0" reloadable="true"/> <Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="www_appTest_com." suffix=".txt" timestamp="true"/> </Host> <Host name="images.appTest.com" appBase="webapps/images" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="" docBase="." debug="0" reloadable="true"/> <Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="www_appTest_com." suffix=".txt" timestamp="true"/> </Host>
一样咱们须要映射咱们的网址
201.18.2.112 images.appTest.com
固然Cookie跨域时,咱们须要将Cookie Domain设置成 .appTest.com便可
Cookie cookie = new Cookie("cookieName", "cookieValue"); cookie.setDomain(".appTest.com"); response.addCookie(cookie);
在server节点下添加相似以下配置
<Service name="myVirtualService"> <Connector connectionTimeout="20000" port="8082" protocol="HTTP/1.1" redirectPort="8443"/> <Connector port="8092" protocol="AJP/1.3" redirectPort="8443" /> <Engine name="myVirtualServiceEngine" debug="0" defaultHost="localhost"> <Host appBase="webapps2" autoDeploy="true" name="localhost" unpackWARs="true"> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access8082_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> <Context path="" docBase="." debug="0" reloadable="true"/> </Host> </Engine> </Service>