欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解Tomcat Web 應(yīng)用綁定域名的幾種方式

 更新時間:2017年12月04日 08:56:37   作者:Wray Zheng  
本篇文章主要介紹了詳解Tomcat Web 應(yīng)用綁定域名的幾種方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

當(dāng)我們將應(yīng)用部署到 tomcat 之后,默認(rèn)是通過 http://codebelief.com:8080/myapp/ 這種形式來訪問的。

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

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

以下的幾種方式均基于反向代理實現(xiàn),需要對應(yīng)的反向代理服務(wù)程序,這里使用的是 apache,也可以用 nginx 實現(xiàn),大同小異。

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

$ sudo a2enmod proxy
$ sudo a2enmod proxy_http
$ service apache2 restart

通過 80 端口訪問

即通過 http://codebelief.com/myapp/ 的形式訪問 web 應(yīng)用。

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

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

<VirtualHost *:80>
ServerName codebelief.com

ProxyRequests On
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
</VirtualHost>

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

可以使用以下命令:

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

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

$ a2ensite tomcat

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

$ service apache2 reload

完成。

通過子域名訪問

即通過 http://app.codebelief.com/myapp/ 訪問 web 應(yīng)用。

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

只需將 tomcat.conf 文件改成:

<VirtualHost *:80>
ServerName codebelief.com
ServerAlias app.codebelief.com

ProxyRequests On
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
</VirtualHost>

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

域名根路徑訪問應(yīng)用

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

tomcat.conf 文件內(nèi)容如下,其它步驟一樣。

<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 了。

使用根路徑直接訪問應(yīng)用,還有另一種實現(xiàn)方式。

這種方式不需要 apache 或 nginx 等反向代理服務(wù)程序,但是如果要使用這種方式,最好是 tomcat 只運行單個 web 應(yīng)用,避免一個 web 應(yīng)用的內(nèi)部路徑與其它 web 應(yīng)用的路徑?jīng)_突。

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

目標(biāo)是通過 http://codebelief.com:8080 來訪問 myapp。

修改 tomcat/conf/server.xml 文件

在 <Engine> 標(biāo)簽內(nèi)添加下面的主機(jī)配置:

<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 標(biāo)簽中的 name 表明該配置用于處理來自 codebelief.com 主機(jī)的請求。注意,name 必須為一級域名或 ip 地址。

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

Context 標(biāo)簽內(nèi)的 path="" 表示直接通過根路徑訪問, docBase="myapp" 表示根路徑默認(rèn)訪問的是 myapp 應(yīng)用。

對外屏蔽 8080 端口

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

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

在這里,只需要執(zhí)行以下命令:

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

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

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • tomcat啟動提示Couldn‘t get host name問題

    tomcat啟動提示Couldn‘t get host name問題

    這篇文章主要介紹了tomcat啟動提示Couldn‘t get host name問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • IDEA中Smart?Tomcat插件使用教程

    IDEA中Smart?Tomcat插件使用教程

    本文主要介紹了IDEA中Smart?Tomcat插件使用教程,文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-06-06
  • 解決Tomcat的maxPostSize屬性的配置需要注意的問題

    解決Tomcat的maxPostSize屬性的配置需要注意的問題

    這篇文章主要介紹了解決Tomcat的maxPostSize屬性的配置需要注意的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • maven項目遠(yuǎn)程部署&&使用tomcat配置數(shù)據(jù)庫連接的方法

    maven項目遠(yuǎn)程部署&&使用tomcat配置數(shù)據(jù)庫連接的方法

    這篇文章主要介紹了maven項目遠(yuǎn)程部署&&使用tomcat配置數(shù)據(jù)庫連接,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • tomcat如何更改默認(rèn)ROOT目錄

    tomcat如何更改默認(rèn)ROOT目錄

    這篇文章主要介紹了tomcat如何更改默認(rèn)ROOT目錄問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • tomcat優(yōu)化配置小結(jié)

    tomcat優(yōu)化配置小結(jié)

    本文主要介紹了tomcat優(yōu)化配置小結(jié),介紹了十一個方面的優(yōu)化問題,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • eclipse配置Tomcat和Tomcat出現(xiàn)無效端口解決辦法

    eclipse配置Tomcat和Tomcat出現(xiàn)無效端口解決辦法

    本文主要介紹了eclipse配置Tomcat和Tomcat出現(xiàn)無效端口解決辦法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • 解決Tomcat啟動失敗:嚴(yán)重?[main]?org.apache.catalina.util.LifecycleBase.handleSubClassException?初始化組件失敗

    解決Tomcat啟動失敗:嚴(yán)重?[main]?org.apache.catalina.util.LifecycleB

    這篇文章主要介紹了解決Tomcat啟動失敗:嚴(yán)重?[main]org.apache.catalina.util.LifecycleBase.handleSubClassException?初始化組件失敗問題的方法,希望可以幫助到你
    2023-03-03
  • IDEA編輯器整合Apache Tomcat的詳細(xì)教程

    IDEA編輯器整合Apache Tomcat的詳細(xì)教程

    這篇文章主要介紹了IDEA編輯器整合Apache Tomcat教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • IntelliJ IDE運行Tomcat報錯解決辦法

    IntelliJ IDE運行Tomcat報錯解決辦法

    這篇文章主要介紹了 IntelliJ IDE運行Tomcat報錯解決辦法的相關(guān)資料,出現(xiàn)“Unable to ping server at localhost:1099”錯誤解決方法,需要的朋友可以參考下
    2017-08-08

最新評論