Tomcat 虛擬主機或二級域名配置

參考: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 &quot;%r&quot; %s %b" />
        	  <Context path="" docBase="." debug="0"  reloadable="true"/>
        </Host>
    </Engine>
  </Service>
相關文章
相關標籤/搜索