iT邦幫忙

0

apache 和 tomcat 架設

請教前輩小弟最近架設apache + tomcat server 我希望tomcatserver不要暴露在外網以下是我apache和tomcat 設定是我用瀏覽器觀看時出現

http://ithelp.ithome.com.tw/upload/images/20161011/20102789ly6ARqBzkJ.png

有兩部電腦都是centos7,A電腦我安裝了Apache 2.4.6-40 跟 tomcat-connector1.2.41 java1.8.0_101 tomcat 和tomcat8.5IP:192.168.1.21

B電腦安裝了tomcat服務版本8.5 IP:192.168.1.30

我在A電腦apache 設定
etc/httpd/httpd.conf

http://ithelp.ithome.com.tw/upload/images/20161011/201027897zNhq8KuV6.png

httpd/conf下建了mod_jk.conf

http://ithelp.ithome.com.tw/upload/images/20161011/20102789OLiQAd07rP.png

httpd/conf下建了workers.properties

http://ithelp.ithome.com.tw/upload/images/20161011/2010278973VU4sGRST.png

httpd/conf下建了uriworkers.properties

http://ithelp.ithome.com.tw/upload/images/20161011/20102789wfxIKhskPy.png

tomcat server設定了

http://ithelp.ithome.com.tw/upload/images/20161011/20102789HX3kcpCDGc.png

我的mod_jk.log

http://ithelp.ithome.com.tw/upload/images/20161011/20102789GfhWc3y69q.png

看更多先前的討論...收起先前的討論...
fillano iT邦超人 1 級 ‧ 2016-10-11 15:32:43 檢舉
192.168.1.30的tomcat設了什麼?看起來你是設定ajp13連到192.168.1.30,但是沒看到你設定了什麼,或是是否有連線。用nmap掃一下192.168.1.30看看哪些port有開。
超超 iT邦新手 5 級 ‧ 2016-10-11 16:00:45 檢舉
Starting Nmap 6.40 ( http://nmap.org ) at 2016-10-11 16:04 CST
Nmap scan report for 192.168.1.30
Host is up (0.000013s latency).
Not shown: 997 closed ports
PORT STATE SERVICE
22/tcp open ssh
8009/tcp open ajp13
8080/tcp open http-proxy
超超 iT邦新手 5 級 ‧ 2016-10-11 16:12:07 檢舉
我 192.168.1.30 tomcat 設定了server.xml

<Host name="192.168.1.21" debug="0" appBase="/default"
unpackWARs="true" autoDeploy="true">
<Context path="/project1" docBase="/projects/project1"
debug="5" reloadable="true" crossContext="true">
</Context>
</Host>
fillano iT邦超人 1 級 ‧ 2016-10-11 17:24:07 檢舉
...192.168.1.21?
超超 iT邦新手 5 級 ‧ 2016-10-11 17:40:43 檢舉
對....指定主機名稱 錯了嗎?
一開始是localhost
我用192.168.1.30/project 可以連到 ,但是我想透過192.168.1.21連近來
fillano iT邦超人 1 級 ‧ 2016-10-12 15:46:49 檢舉
為什麼會在192.168.1.30的機器上設192.168.1.21呢?
超超 iT邦新手 5 級 ‧ 2016-10-12 16:38:40 檢舉
接收192.168.1.21的request
超超 iT邦新手 5 級 ‧ 2016-10-12 16:40:12 檢舉
tomcat不是有預設8009接收apache的request嗎?
fillano iT邦超人 1 級 ‧ 2016-10-12 17:11:21 檢舉
192.168.1.30只要開了connector來listen就好阿Orz,而且你看Host的設定,裡面的appBase、unpackWARs、autoDeploy等,都是設定派送相關的參數(你把war檔丟進webapps目錄,tomcat會自動解壓縮並更新...),這跟192.168.1.21這台機器沒關係吧XD
超超 iT邦新手 5 級 ‧ 2016-10-12 23:42:25 檢舉
如果這麼做可以直接連192.168.1.30讀取網頁了?(我希望網址是透過192.168.1.21連到192.168.1.30 url 因該是192.168.1.21/project/index.jsp)
我的connector設定在192.168.1.21 , 192.168.1.30有開啟tomcat 8080port跟8009port都有開 想透過192.168.1.21 用8009port 請求 , 目前看來是我192.168.1.30 tomcat沒接收請求或是沒有成功回應
超超 iT邦新手 5 級 ‧ 2016-10-12 23:43:40 檢舉
project1 是在192.168.1.30 tomcat server 下
超超 iT邦新手 5 級 ‧ 2016-10-12 23:50:46 檢舉
我參考了http://linux.vbird.org/somepaper/20080703-Apache22_Tomcat60_MySQL50_mod_jk.pdf

1 個回答

0
fillano
iT邦超人 1 級 ‧ 2016-10-13 10:11:59
最佳解答

還是回答好了,雖然tomcat我不算熟XD,所以我上面的解釋不算正確。

請先看一下Host設定的說明:Host - Common Attributes,主要是Name這個屬性的設定。

Host是用來設定虛擬伺服器,Host的設定中,至少要有一組的Name屬性跟Engine的defaultHost設定一致,我猜是這個問題。(我隨便設成不存在的ip也行,只要Engine跟Host設定一致,他就會導到預設的Host)你參考的文件中,他Engine並沒有設定defaultHost,但是我在tomcat8這樣設會有問題(連到8080時出現404),我覺得都用預設的localhost就好了。

看更多先前的回應...收起先前的回應...
超超 iT邦新手 5 級 ‧ 2016-10-13 16:40:47 檢舉

注意了Engine 的 defaultHost 但還無法連上 192.168.1.21 apache 的mod_jk.log還是

[Thu Oct 13 16:37:41 2016] jspap30 192.168.1.21 -
[Thu Oct 13 16:37:41 2016] jspap30 192.168.1.21 -

http://ithelp.ithome.com.tw/upload/images/20161013/20102789956Mbd54cS.png

fillano iT邦超人 1 級 ‧ 2016-10-13 16:44:50 檢舉

192.168.1.30:8080看不看得到東西?

超超 iT邦新手 5 級 ‧ 2016-10-13 17:14:18 檢舉

如果我把Engine 下的defaultHost 改成localhost
在把 Host name改成localhost 192.168.1.30:8080可以看的到

超超 iT邦新手 5 級 ‧ 2016-10-13 17:19:20 檢舉

都改localhost的話
193.192.168.1.30/project1/index.jsp 也有東西

超超 iT邦新手 5 級 ‧ 2016-10-13 17:23:12 檢舉

192.168.1.30/project1/index.jsp

超超 iT邦新手 5 級 ‧ 2016-10-13 17:32:47 檢舉

都改localhost的話
193.192.168.1.30:8080/project1/index.jsp會有我的網頁

超超 iT邦新手 5 級 ‧ 2016-10-14 21:15:37 檢舉

我重頭在弄一次後成功了因該是你說的defaultHost問題謝謝你的指導

我要發表回答

立即登入回答