一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬主機|服務器安全|DNS服務器|服務器知識|Nginx|IIS|Tomcat|

服務器之家 - 服務器技術 - Tomcat - 詳解Tomcat Web 應用綁定域名的幾種方式

詳解Tomcat Web 應用綁定域名的幾種方式

2021-08-27 16:23Wray Zheng Tomcat

本篇文章主要介紹了詳解Tomcat Web 應用綁定域名的幾種方式,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

當我們將應用部署到 tomcat 之后,默認是通過 http://codebelief.com:8080/myapp/ 這種形式來訪問的。

很顯然,這只適用于調試的情況,在實際使用時,我們通常會為根據需要,為應用綁定更加便于訪問的路徑。

一般來說,我們不直接將 tomcat 運行在 80 端口,更安全的做法是在 80 端口運行一個 http server,然后通過反向代理轉發到 8080 端口。

以下的幾種方式均基于反向代理實現,需要對應的反向代理服務程序,這里使用的是 apache,也可以用 nginx 實現,大同小異。

首先,需要確保開啟 mod_proxy 模塊:

?
1
2
3
$ sudo a2enmod proxy
$ sudo a2enmod proxy_http
$ service apache2 restart

通過 80 端口訪問

即通過 http://codebelief.com/myapp/ 的形式訪問 web 應用。

我們在 80 端口運行 apache,由 apache 處理 80 端口的請求,然后將所有請求轉發給運行在 8080 端口的 tomcat 處理,這樣就無需修改 tomcat 的運行端口,另一方面也確保了安全性。

在 /etc/apache2/sites-available/ 目錄下添加配置文件 tomcat.conf:

?
1
2
3
4
5
6
7
<VirtualHost *:80>
ServerName codebelief.com
 
ProxyRequests On
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
</VirtualHost>

然后將該配置文件通過軟鏈接放入 /etc/apache2/sites-enabled/ 目錄以啟用該配置。

可以使用以下命令:

?
1
$ ln -s tomcat.conf /etc/apache2/sites-enabled/tomcat.conf

也可以使用 apache 自帶的命令:

?
1
$ a2ensite tomcat

最后重新加載 apache 配置文件:

?
1
$ service apache2 reload

完成。

通過子域名訪問

即通過 http://app.codebelief.com/myapp/ 訪問 web 應用。

與上述配置過程類似,依然采用反向代理的方式將子域名請求轉發給 8080 端口。

只需將 tomcat.conf 文件改成:

?
1
2
3
4
5
6
7
8
<VirtualHost *:80>
ServerName codebelief.com
ServerAlias app.codebelief.com
 
ProxyRequests On
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
</VirtualHost>

同樣,將該文件鏈接到 sites-enabled 目錄下,然后 reload 配置即可。

域名根路徑訪問應用

即直接通過 http://codebelief.com 的形式訪問 myapp,而無需加應用所在目錄名。

tomcat.conf 文件內容如下,其它步驟一樣。

?
1
2
3
4
5
6
7
8
<VirtualHost *:80>
ServerName codebelief.com
ServerAlias app.codebelief.com
 
ProxyRequests On
ProxyPass / http://localhost:8080/myapp/
ProxyPassReverse / http://localhost:8080/myapp/
</VirtualHost>

這樣,就可以通過 http://codebelief.com 或者 http://app.codebelief.com 直接訪問 myapp 了。

使用根路徑直接訪問應用,還有另一種實現方式。

這種方式不需要 apache 或 nginx 等反向代理服務程序,但是如果要使用這種方式,最好是 tomcat 只運行單個 web 應用,避免一個 web 應用的內部路徑與其它 web 應用的路徑沖突。

我們這里不考慮端口號的修改,使用默認的 8080 端口。

目標是通過 http://codebelief.com:8080 來訪問 myapp。

修改 tomcat/conf/server.xml 文件

在 <Engine> 標簽內添加下面的主機配置:

?
1
2
3
4
5
6
7
<Host name="codebelief.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
  <Alias>app.codebelief.com</Alias>
  <Context path="" docBase="myapp" debug="0" privileged="true" />
  <Valve className="org.apache.catalina.valves.AccessLogValve"
  directory="logs"  prefix="localhost_access_log." suffix=".txt"
  pattern="%h %l %u %t "%r" %s %b" resolveHosts="false" />
</Host>

Host 標簽中的 name 表明該配置用于處理來自 codebelief.com 主機的請求。注意,name 必須為一級域名或 ip 地址。

要使得子域名 app.codebelief.com 也能使用該配置,即根路徑直接訪問 myapp,那么需要使用 Alias 標簽綁定該子域名。

Context 標簽內的 path="" 表示直接通過根路徑訪問, docBase="myapp" 表示根路徑默認訪問的是 myapp 應用。

對外屏蔽 8080 端口

當我們使用不包含端口號的形式訪問 myapp 時,我們還可以對外屏蔽 8080 端口,即必須通過 80 端口由 apache 轉發給 tomcat。

要使外部不能直接訪問 8080 端口,可以在 iptables 中添加對應規則,有關 iptables 的具體原理和用法,可以自行參考相關文章。

在這里,只需要執行以下命令:

?
1
$ iptables -t mangle -A PREROUTING -p tcp --dport 8080 -j DROP

該命令會在 mangle 表中的 PREROUTING 鏈添加指定規則,即對來自 8080 端口的 tcp 連接,直接做丟棄處理。

這樣就可以禁止外部通過 8080 端口訪問 tomcat 應用了。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://www.codebelief.com/article/2017/12/ways-for-tomcat-web-app-to-bind-domains/

延伸 · 閱讀

精彩推薦
  • TomcatTomcat目錄結構詳解

    Tomcat目錄結構詳解

    Tomcat 服務器是一個免費的開放源代碼的 Web 應用服務器,學習tomcat目錄結構十分有必要,今天小編給大家帶來了詳細教程,感興趣的朋友一起看看吧...

    ThinkWon6712021-09-09
  • TomcatTomcat服務器搭建教程

    Tomcat服務器搭建教程

    這篇文章主要為大家詳細介紹了Tomcat服務器搭建教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    Watom_66310452021-08-20
  • Tomcat如何查看tomcat的控制臺輸出的方法

    如何查看tomcat的控制臺輸出的方法

    這篇文章主要介紹了如何查看tomcat的控制臺輸出的方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧...

    CaiCaiNeo11972021-08-29
  • Tomcattomcat 6.0.20在一個機器上安裝多個服務的方法

    tomcat 6.0.20在一個機器上安裝多個服務的方法

    本文主要為大家介紹tomcat 6.0.20在一個機器上安裝多個服務的方法,當前前提是你已經可以同時運行他們了,他們的端口不能相同,這里只是解釋如何把它們...

    Tomcat教程網10052021-08-03
  • Tomcat學習javaweb如何配置Tomcat的熱啟動

    學習javaweb如何配置Tomcat的熱啟動

    學習javaweb的時候每次更改項目都需要重新部署項目,如此一來比較麻煩,使用tomcat的熱啟動就可以解決這個問題...

    whsnow12072021-08-04
  • Tomcat淺談Tomcat多層容器的設計

    淺談Tomcat多層容器的設計

    Tomcat的容器用來裝載Servlet。那Tomcat的Servlet容器是如何設計的呢,本文就詳細的來介紹一下,具有一定的參考價值,感興趣的可以了解一下...

    JavaEdge.9612021-09-26
  • Tomcat如何將Tomcat設置為自動啟動的服務最快捷方法

    如何將Tomcat設置為自動啟動的服務最快捷方法

    這篇文章主要介紹了如何將Tomcat設置為自動啟動的服務最快捷方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧...

    鋒齊葉落5352021-09-03
  • TomcatTomcat正常訪問localhost報404問題解決

    Tomcat正常訪問localhost報404問題解決

    這篇文章主要介紹了Tomcat正常訪問localhost報404問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友...

    小明Style5592021-09-23
主站蜘蛛池模板: 久久精品视频免费 | 男同精品视频免费观看网站 | 国产精品女同久久免费观看 | 免费国产好深啊好涨好硬视频 | 涩涩屋视频在线观看 | 四虎在线精品观看免费 | 欧美日韩亚洲另类人人澡 | 国产一区二区三区久久精品 | 秋霞黄色网 | 国产成人性毛片aaww | dasd-698黑人在线播放 | 精品99一区二区三区麻豆 | 国产特级毛片aaaaaa | 日本中文字幕黑人借宿影片 | 欧美不卡一区二区三区 | 国产福利自产拍在线观看 | 香港三级浴室女警官 | 欧美xxoo做爰猛烈视频 | 美女的隐私视频免费看软件 | 调教车文| 91porny新九色在线 | 久久久久久久久性潮 | 俄罗斯三级在线观看级 | 色网在线视频 | 色老板在线视频观看 | 精品国产91久久久久久久 | 思思玖玖 | 99热99在线| a4yy欧美一区二区三区 | 爽好舒服宝贝添奶吻戏 | 2020精品极品国产色在线观看 | 奇米影视先锋 | 2021精品国夜夜天天拍拍 | 特黄特a级特别特级特毛片 特黄a级三级三级野战 | 单亲乱l仑在线观看免费观看 | 超h 超重口 高h 污肉1v1 | 2021最新国产成人精品免费 | 欧美一级裸片又黄又裸 | 美女校花被调教出奶水 | aika跟黑人太猛了 | 国产在线看片护士免费视频 |