Host:www.it315.org<回車><回車>WEBserver接收到瀏覽器的訪問" />

亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

tomcat建立虛擬主機

系統 1970 0

WEB 瀏覽器與 WEB server建立連接后,除了將請求 URL 中的資源路徑發送給 WEB server外,還會將 URL 中的主機名部分作為 HTTP 請求消息的 Host 頭發送給 WEB server。比如,在瀏覽器地址欄中輸入 http://www.it315.org ,瀏覽器發送給 www.it315.org 主機上的 WEB server的請求消息內容例如以下:

??????? GET ?? / ?? HTTP/1.1< 回車 >

??????? Host: ?? www.it315.org< 回車 >

??????? < 回車 >

WEB server接收到瀏覽器的訪問請求消息后,依據 Host 頭字段中所設置的主機名,就知道該選擇哪個 WEB 網站來進行響應,因此,能夠使用不同的主機名來作為區分同一個 WEB server上的不同網站的標識信息。

Tomcat Server.xml 配置文件里有一個 <Host> 元素,一個 <Host> 元素用于建立一個 WEB 網站,使用多個 <Host> 元素則能夠建立多個 WEB 網站。 <Host> 元素的父級的元素中為 <Engine> 元素,嵌套在同一個 <Engine> 元素中的多個 <Host> 元素的 name 屬性不能同樣, <Host> 元素的 name 屬性指定 WEB 網站所相應的主機名稱。 Tomcat Server.xml 配置文件里初始設置的 <Host> 元素內容例如以下:

<Host name="localhost" appBase="webapps" …>

</Host>

<Host> 元素中的 appBase 屬性指定了一個路徑,該路徑將作為嵌套在它里面的 <Context> 元素的 docBase 屬性中設置的相對路徑的基準路徑。

Tomcat 接收到訪問請求時,將比較請求消息中的 Host 頭字段的值與 <Host> 元素的 name 屬性值,并以匹配的 <Host> 元素所創建的 WEB 網站來響應。假設 Server.xml 文件里沒有與請求消息的 Host 頭字段匹配的 <Host> 元素, Tomcat 將以默認的 WEB 網站來響應。僅僅要 <Engine> 元素的 defaultHost 屬性設置為嵌套在它里面的某個 <Host> 元素的 name 屬性值,該 <Host> 元素所創建的 WEB 網站就成了該引擎的默認 WEB 網站。比如, Tomcat Server.xml 文件里的 <Engine> 元素的默認設置例如以下:

<Engine name="Standalone" defaultHost="localhost" debug="0">

??????? <Host name="localhost" appBase="webapps" …>

???????

??????? </Host>

</Engine>

上面的這段配置信息說明,該引擎的默認 WEB 網站為嵌套在 <Engine> 元素中的 name 屬性為“ localhost ”的 <Host> 元素所創建的 WEB 網站。

在同一臺計算機上建立了多個基于主機名的虛擬主機后, WEB 瀏覽器要訪問當中的某個虛擬主機的資源時,在訪問 URL 中必須採用主機名,而不能採用 IP 地址。這是由于 WEB 瀏覽器要將 URL 中的主機名部分作為 HTTP 請求消息的 Host 頭發送給 WEB server,假設 URL 中的主機名部分使用的是 IP 地址,那么,瀏覽器發出的請求消息中的 Host 頭字段的值就是這個 IP 地址,而在同一臺計算機上建立的多個基于主機名的虛擬主機共享同一個 IP 地址,在 Host 頭字段使用 IP 地址根本就無法區分不同的網站。

即使在 URL 中指定的是主機名時, WEB 瀏覽器還是要先獲得該主機名所相應的 IP 地址,然后再使用這個 IP 去連接 WEB server。所以,在建立基于主機名的虛擬主機時,除了要在 Tomcat server.xml 文件里進行設置外,還須要在整個網絡系統中建立主機名與 IP 地址的映射關系,即必須將主機名加入到名稱解析系統,以便 WEB 瀏覽器可以從名稱解析系統中查詢出主機名所相應的 IP 地址。建立主機名與 IP 地址的映射關系的慣用方式有兩種:一是使用客戶機本地的 Hosts 文件,二是使用 DNS(Domain Name System ,域名系統 ) server。 Hosts 文件和 DNS 的作用都是同意用戶使用“友好”的、文本格式的主機名稱,而不是數字格式的 IP 地址來訪問網絡中的計算機。 Hosts 文件可用于小型的 Intranet (企業內部網),網絡中的全部計算機上都須要使用 Hosts 文件。 DNS 通經常使用于大型的網絡,特別是 Internet 上對外提供服務的計算機都是通過 DNS 來建立其主機名與 IP 地址的映射關系。客戶機首先在本地的 Hosts 文件里查找主機名稱所映射的 IP 地址,假設沒有找到,再去查詢 DNS server。為了簡單起見,這里僅介紹一下 Hosts 文件。對于 Windows 2000 系統, Hosts 文件位于操作系統根文件夾(取決操作系統所在的分區,一般是 c:/winnt )下的 System32/Drivers/Etc 子文件夾中,默認情況下,該文件里有例如以下一行內容:

??????? 127.0.0.1 ??????? localhost

這行文本的作用就是將 IP 地址( 127.0.0.1 )映射成主機名( localhost ),這也就是在 IE 瀏覽器地址欄中能夠使用 localhost 訪問本地 WEB server的原因。假設要添加很多其它的主機名與 IP 地址的映射,能夠在 Hosts 文件里添加很多其它的行,然后參照上面這行內容的格式在每行中填寫 IP 地址和對應的主機名。

(1)用UltraEdit打開<Tomcat 主文件夾>/conf文件夾下的Server.xml文件,使用“查找”菜單查找內容為“</Host>”的行,緊接該行以下添加一對 <Host></Host>標簽。參照前面的<Host>標簽的屬性設置情況,設置新增的<Host> 標簽的屬性,并在它里面嵌套一個設置該WEB網站根文件夾的<Context>元素,終于的內容例如以下:
??????? <Host name="site1" debug="0" appBase="d:/VirtualHost1">
?????????????? <Context path="" docBase="." debug="0"/>
??????? </Host>
這樣,將創建一個新的WEB網站。上面的<Context>元素的docBase屬性值被設置為一個點(.),即表示使用<Host>元素的appBase屬性中所設置的路徑作為這個<Context>所映射的文件夾。
(2)在上面新增的<Host></Host>標簽對以下再添加一對<Host></Host>標簽,并將它設置為例如以下形式:
??????? <Host name="site2" debug="0" appBase="d:/VirtualHost2">
?????????????? <Context path="" docBase="." debug="0"/>
??????? </Host>
這又創建了一個新的WEB網站,該網站的主機名稱為site2,根文件夾相應的本地文件系統文件夾為d:/VirtualHost2。
(3)在d:盤下創建名稱為VirtualHost1和VirtualHost2兩個文件夾,并在這兩個文件夾中分別創建一個名為test.html的文件,在d:/VirtualHost1/test.html文件里寫入例如以下一行內容:
???? 這是 d:/VirtualHost1 文件夾中的 test.html文件
在d:/VirtualHost2/test.html文件里寫入例如以下一行內容:
???? 這是 d:/VirtualHost2 文件夾中的 test.html文件
(4)保存改動后的Server.xml文件,又一次啟動Tomcat WEBserver程序。打開一個新的命令行窗體中,并在這個命令行窗體中運行例如以下命令:
telnet 127.0.0.1 8080
接著在連接成功的telnet程序命令窗體中,輸入例如以下內容:
??????? GET /test.html HTTP/1.1< 回車>
??????? Host:< 空格>site1<回車>
??????? < 回車>
這時在telnet程序窗體中能夠看到,WEBserver返回內容的正文部分為d:/VirtualHost1/test.html文件里的內容。接著WEBserver返回內容的下邊,輸入例如以下內容:
??????? GET /test.html HTTP/1.1< 回車>
??????? Host:< 空格>site2<回車>
??????? < 回車>
在telnet程序窗體中又能夠看到,WEBserver這次返回內容的正文部分為d:/VirtualHost2/test.html文件里的內容。接著WEBserver返回內容的下邊,輸入例如以下內容:
??????? GET /test.html HTTP/1.1< 回車>
??????? Host:< 空格><回車>
??????? < 回車>
在telnet程序窗體中又能夠看到,WEBserver這次返回內容的正文部分為d:/test/test.html文件里的內容。接著WEBserver返回內容的下邊,再次輸入例如以下內容:
??????? GET /test.html HTTP/1.1< 回車>
??????? Host:< 空格>xxx<回車>
??????? < 回車>
在telnet程序窗體中又能夠看到,WEBserver這次返回內容的正文部分仍然為d:/test/test.html文件里的內容。
上面的整個交互過程如圖2.34所看到的,Tomcat根 據第1次和第2次請求中所指定Host頭的值,查找Server.xml文件里與之相匹配的<Host>元素的name屬性值,并以匹配的 <Host>元素所設置的WEB網站來響應;在第3次和第4次請求中所指定Host頭的值,在Server.xml文件里沒有與之相應的 <Host>元素的name屬性值,Tomcat將以默認的WEB網站來響應。 tomcat建立虛擬主機
圖2.34
(5)在Windows 2000系統中,用記事本程序打開c:/winnt/System32/Drivers/Etc/Hosts文件,能夠看到有例如以下一行內容:
??????? 127.0.0.1??????? localhost
緊接這行文本的以下,用它復制出兩行文本,并將這兩行文本中的localhost分別改動成site1和 site2,這樣,就使用Hosts文件為當前計算機設置了多個主機名。假設要用site1和site2這個兩主機名訪問其它計算機上的WEB網站,則應 將127.0.0.1改動成其它計算機的實際IP地址。保存Hosts文件后,在命令行窗體中運行“ping site1 和“ping site2 命令,查看該主機名是否被正確解析到了對應的IP 地 址上。建立site1和site2與計算機IP地址的映射后,在IE瀏覽器地址欄中輸入http://localhost: 8080/test.html、http://site1:8080/test.html和http://site2:8080/test.html,可 以看到瀏覽器將顯示出各自網站中的test.html網頁文件的內容。
可見,使用主機名的方式在同一臺WEBserver上創建多 個虛擬主機后,在WEB瀏覽器中使用主機名訪問Webserver時,Webserver將選擇與該主機名關聯的WEB網站進行響應。通過這樣的方式,多個WEB網站可 以共享同一個IP地址和同樣的port號,唯一不足的就是WEB瀏覽不能通過IP地址去訪問這些WEB網站。基于主機名的虛擬主機是眼下Internet上的 大多數虛擬主機業務提供商所通常採用的方式。僅僅要找出幾個小型公司或個人的網站,假設在WEB瀏覽器地址欄中輸入“http://主機名”能夠訪問到該 WEB網站,接著在命令行窗體中運行“ping 主機名”,查看到該域名相應的IP地址,然后在WEB瀏覽器地址欄中輸入“http://IP地址”時,卻無法訪問這個WEB網站了,那么,這個WEB站 點就是一個基于主機名的虛擬主機,它與其它一些WEB網站共享一臺WEBserver,而不是自己獨享一臺WEBserver。
注意 :當使用安全套接字層 (SSL) 時,不能使用主機頭字段來實現虛擬主機,這是由于使用SSL的HTTP請求有加密保護。主機頭字段是加密內容的一部分,不能被解釋和路由到正確的網站。

tomcat建立虛擬主機


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 成年人看的黄色 | 九九视频在线观看视频6偷拍 | 丝袜亚洲精品中文字幕一区 | 中文字幕观看 | 久久天堂 | 欧美三级毛片 | 亚洲国产成人久久一区www | 亚洲国产人成中文幕一级二级 | 欧美精品中文 | 女bbbbxxxx另类亚洲 | 手机看片亚洲 | 精品乱久久| 视频一区二区国产无限在线观看 | ass最极品女人下部pic | 99久久精品久久久 | 今天的恋爱未删减在线观看 | 一级爱爱片一级毛片-一毛 一级白嫩美女毛片免费 | 黑人超长巨大xxxxxxx视频 | 国产精品久久久久久亚洲伦理 | 亚洲精品乱码久久久久久v 亚洲精品乱码久久久久久麻豆 | 久久精品啪啪嗷嗷叫 | 欧美5o老妇性xxx | 殴美一级片 | 日本无吗中文字幕免费婷婷 | 97se亚洲| 久久精品视频免费在线观看 | 午夜久久久精品 | 毛片毛片毛片毛片 | 狠狠躁夜夜躁人人爽天天段 | 日韩五月天| 99久久99这里只有免费的精品 | 一级毛片免费视频观看 | 成人午夜性a一级毛片美女 成人午夜性视频欧美成人 成人午夜亚洲影视在线观看 | 老子影院无码午夜伦不卡 | 国产精品资源在线 | 淫视频网站 | 亚洲在线网 | 狠狠色丁香婷婷综合小时婷婷 | 天天操夜夜艹 | 久久精品国产99精品最新 | 久久这里只精品热免费99 |