banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận hệ điều hành *nix Nối Tomcat vào Apache?  XML
  [Question]   Nối Tomcat vào Apache? 21/10/2010 23:50:14 (+0700) | #1 | 223350
zjm_zjm
Member

[Minus]    0    [Plus]
Joined: 26/07/2009 01:53:09
Messages: 159
Location: hhhhhh
Offline
[Profile] [PM] [WWW] [Yahoo!] [MSN] [ICQ]
Chào các bạn, mình cài apache,và tomcat trên 1 máy,

Apache mình cấu hình ở thư mục
/etc/httpd....

còn tomcat mình cài ở

/usr/local/tomcat

ví dụ khi ta login vào forum của php thì

http://myweb/forum
còn login vào jforum thì

http://myweb:8080/jfoum
 

Bây h mình muốn nối tomcat vào Apache thì làm như thế nào,

PS mình đã tìm hiểu nhiều trước khi hỏi, nhưng thấy lung tung quá,
[Up] [Print Copy]
  [Question]   Nối Tomcat vào Apache? 22/10/2010 00:02:09 (+0700) | #2 | 223352
[Avatar]
tranhuuphuoc
Moderator

Joined: 05/09/2004 06:08:09
Messages: 865
Location: Lầu Xanh
Offline
[Profile] [PM] [WWW]

zjm_zjm wrote:
Chào các bạn, mình cài apache,và tomcat trên 1 máy,

Apache mình cấu hình ở thư mục
/etc/httpd....

còn tomcat mình cài ở

/usr/local/tomcat

ví dụ khi ta login vào forum của php thì

http://myweb/forum
còn login vào jforum thì

http://myweb:8080/jfoum
 

Bây h mình muốn nối tomcat vào Apache thì làm như thế nào,

PS mình đã tìm hiểu nhiều trước khi hỏi, nhưng thấy lung tung quá,  


Những yêu cầu cần thiết để "nối" giữa Apache và Tomcat : Apache, JDK, mod_jk (hoặc mod_proxy) , Tomcat, nói ngắn gọn cho dễ hiểu để làm việc này ta cần có mod_jk hoặc mod_proxy

Bài viết này cách đây 3 năm trước tôi có đặt câu hỏi, hỏi giống y như bro và được đàn anh conmale hướng dẫn, chỉ giúp bro có thể xem lại tham khảo
/hvaonline/posts/list/16018.html

Good luck
[Up] [Print Copy]
  [Question]   Nối Tomcat vào Apache? 22/10/2010 14:56:50 (+0700) | #3 | 223415
zjm_zjm
Member

[Minus]    0    [Plus]
Joined: 26/07/2009 01:53:09
Messages: 159
Location: hhhhhh
Offline
[Profile] [PM] [WWW] [Yahoo!] [MSN] [ICQ]
Okay em đã tìm hiểu và bắt đầu cài mod_jk* thông qua yum
nhưng khi chạy thì nó thiếu thư viện, mình không rảnh về Perl cho lắm nên chẳng bít thế nào nữa.

Code:
Package mod_jk-ap20.i386 0:1.2.26-1jpp set to be updated
--> Running transaction check
--> Processing Dependency: perl(GD::Graph:smilieata) for package: mod_jk-tools
--> Processing Dependency: perl(GD) for package: mod_jk-tools
--> Processing Dependency: perl(GD::Graph::lines) for package: mod_jk-tools
--> Processing Dependency: perl(GD::Graph) for package: mod_jk-tools
--> Processing Dependency: perl(GD::Graph::linespoints) for package: mod_jk-tools
--> Processing Dependency: perl(Statistics:smilieescriptive) for package: mod_jk-tools
--> Finished Dependency Resolution
Error: Missing Dependency: perl(GD::Graph:smilieata) is needed by package mod_jk-tools
Error: Missing Dependency: perl(GD) is needed by package mod_jk-tools
Error: Missing Dependency: perl(GD::Graph::lines) is needed by package mod_jk-tools
Error: Missing Dependency: perl(GD::Graph) is needed by package mod_jk-tools
Error: Missing Dependency: perl(GD::Graph::linespoints) is needed by package mod_jk-tools
Error: Missing Dependency: perl(Statistics:smilieescriptive) is needed by package mod_jk-tools
[root@zjm yum.repos.d]#
[Up] [Print Copy]
  [Question]   Nối Tomcat vào Apache? 22/10/2010 15:04:22 (+0700) | #4 | 223416
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]
Bạn có thể Google: how to install Perl module.
Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   Nối Tomcat vào Apache? 22/10/2010 22:29:06 (+0700) | #5 | 223437
zjm_zjm
Member

[Minus]    0    [Plus]
Joined: 26/07/2009 01:53:09
Messages: 159
Location: hhhhhh
Offline
[Profile] [PM] [WWW] [Yahoo!] [MSN] [ICQ]
Mình đã cài nhưng nó hiện h không chạy được lõi 400

Code:
Bad Request

Your browser sent a request that this server could not understand.



Code:
Đây là file worker của mình
[root@zjm conf]# grep -v "^#" /etc/httpd/conf/workers.properties | sed '/^$/d'
workers.tomcat_home=/usr/local/tomcat
workers.java_home=/usr/local/jdk1.6.0_21
ps=/
worker.list=ajp12, ajp13
worker.ajp12.port=8007
worker.ajp12.host=localhost
worker.ajp12.type=ajp12
worker.ajp12.lbfactor=1
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1
worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=ajp12, ajp13
worker.inprocess.type=jni
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)tomcat.jar
worker.inprocess.cmd_line=start
worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)bin$(ps)classic$(ps)jvm.dll
worker.inprocess.stdout=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stdout
worker.inprocess.stderr=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stderr
[root@zjm conf]#



Còn đây là file mod_jk.conf

Code:
[root@zjm conf]# grep -v "^#"  /etc/httpd/conf.d/mod_jk.conf | sed '/^$/d'
LoadModule      jk_module modules/mod_jk.so
JkWorkersFile   /etc/httpd/conf/workers.properties
JkLogFile       /var/log/mod_jk.log
JkLogLevel      error
JkMount /*.jsp ajp13
JkMount /servlet/* ajp13
Alias /examples "/usr/local/tomcat/webapps/examples"
<Directory "/usr/local/tomcat/webapps/examples">
    Options Indexes FollowSymLinks
</Directory>
JkMount /examples/servlet/* ajp13
JkMount /examples/*.jsp ajp13
<Location "/examples/WEB-INF/">
    AllowOverride None
    allow from 192.168.1.0/24
    deny from all
</Location>
Alias /admin "/usr/share/tomcat5/webapps/admin"
<Directory "/usr/share/tomcat5/webapps/admin">
    Options Indexes FollowSymLinks
</Directory>
JkMount /admin/servlet/* ajp13
JkMount /admin/*.jsp ajp13
<Location "/admin/WEB-INF/">
    AllowOverride None
    deny from all
</Location>
Alias /test "/usr/share/tomcat5/webapps/test"
<Directory "/usr/share/tomcat5/webapps/test">
    Options Indexes FollowSymLinks
</Directory>
JkMount /test/servlet/* ajp13
JkMount /test/*.jsp ajp13
<Location "/test/WEB-INF/">
    AllowOverride None
    deny from all
</Location>
JkMount /jmx-console/* jboss
<Location "/jmx-console/">
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1
</Location>
[root@zjm conf]#


Trong file httpd.conf mình đã include

include conf.d/mod_jk.conf

start apache và tomcat đều không có lỗi, khi truy cập vào 192.168.1.100 thì lỗi 400

Truy cập http://192.168.1.100 thì không được
Truy cập http://192.168.1.100:8080 thì vẫn được.
có lẽ lỗi nằm ở apache http
[Up] [Print Copy]
  [Question]   Nối Tomcat vào Apache? 22/10/2010 22:45:12 (+0700) | #6 | 223438
zjm_zjm
Member

[Minus]    0    [Plus]
Joined: 26/07/2009 01:53:09
Messages: 159
Location: hhhhhh
Offline
[Profile] [PM] [WWW] [Yahoo!] [MSN] [ICQ]
đây là 1 phần của access_log smilie

Code:
[root@zjm conf]# cat /var/log/httpd/access_log
192.168.1.33 - - [27/Nov/2010:23:20:52 +0700] "GET / HTTP/1.1" 400 304 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Tablet PC 2.0)"
192.168.1.33 - - [27/Nov/2010:23:20:55 +0700] "GET / HTTP/1.1" 400 304 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Tablet PC 2.0)"
192.168.1.33 - - [27/Nov/2010:23:21:03 +0700] "GET / HTTP/1.1" 400 304 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Tablet PC 2.0)"
192.168.1.33 - - [27/Nov/2010:23:21:26 +0700] "GET / HTTP/1.1" 400 304 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Tablet PC 2.0)"
192.168.1.33 - - [27/Nov/2010:23:23:57 +0700] "GET / HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:23:57 +0700] "GET /favicon.ico HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:23:57 +0700] "GET /favicon.ico HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:24:00 +0700] "GET / HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:24:00 +0700] "GET /favicon.ico HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:24:00 +0700] "GET /favicon.ico HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:24:00 +0700] "GET /favicon.ico HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:24:00 +0700] "GET /favicon.ico HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:24:08 +0700] "GET /favicon.ico HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:24:09 +0700] "GET /favicon.ico HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:24:10 +0700] "GET /favicon.ico HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:24:12 +0700] "GET /favicon.ico HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:24:14 +0700] "GET /favicon.ico HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:24:55 +0700] "GET /favicon.ico HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:24:59 +0700] "GET /favicon.ico HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:25:01 +0700] "GET /favicon.ico HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:25:33 +0700] "GET /favicon.ico HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:27:58 +0700] "GET /examples HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:28:00 +0700] "GET /examples HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:28:01 +0700] "GET /examples HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:28:01 +0700] "GET /examples HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:28:01 +0700] "GET /examples HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:28:01 +0700] "GET /examples HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
192.168.1.33 - - [27/Nov/2010:23:42:57 +0700] "GET /examples HTTP/1.1" 400 304 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11"
[Up] [Print Copy]
  [Question]   Nối Tomcat vào Apache? 23/10/2010 09:32:52 (+0700) | #7 | 223455
zjm_zjm
Member

[Minus]    0    [Plus]
Joined: 26/07/2009 01:53:09
Messages: 159
Location: hhhhhh
Offline
[Profile] [PM] [WWW] [Yahoo!] [MSN] [ICQ]
Tập tin /usr/local/tomcat/conf/server.xml

Mình chỉnh

Code:
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               wwwectPort="8443" />


Thành

Code:
<Connector port="8009" protocol="AJP/1.3" wwwectPort="8443" />

nhung vẫn không được smilie
[Up] [Print Copy]
  [Question]   Nối Tomcat vào Apache? 23/10/2010 21:04:10 (+0700) | #8 | 223521
zjm_zjm
Member

[Minus]    0    [Plus]
Joined: 26/07/2009 01:53:09
Messages: 159
Location: hhhhhh
Offline
[Profile] [PM] [WWW] [Yahoo!] [MSN] [ICQ]
Trong file httpd.conf mình cũng có mod proxy, không biết nó có đụng với mod này không


Code:
<Proxy balancer://mycluster>
BalancerMember http://192.168.1.100:80
BalancerMember http://192.168.1.100:80
</Proxy>
ProxyPass /test balancer://mycluster/
<Location /balancer-manager>
SetHandler balancer-manager
Order Deny,Allow
Deny from all
Allow from 192.168.1.100
</Location>
[Up] [Print Copy]
  [Question]   Nối Tomcat vào Apache? 23/10/2010 21:36:40 (+0700) | #9 | 223523
Dpm
Member

[Minus]    0    [Plus]
Joined: 06/04/2009 01:43:30
Messages: 85
Offline
[Profile] [PM]
Hình như ban zz chưa hiểu lắm thi fải.cấu hình sai bét hết.
[Up] [Print Copy]
  [Question]   Nối Tomcat vào Apache? 23/10/2010 21:52:04 (+0700) | #10 | 223525
zjm_zjm
Member

[Minus]    0    [Plus]
Joined: 26/07/2009 01:53:09
Messages: 159
Location: hhhhhh
Offline
[Profile] [PM] [WWW] [Yahoo!] [MSN] [ICQ]

Dpm wrote:
Hình như ban zz chưa hiểu lắm thi fải.cấu hình sai bét hết. 


Sai chỗ nào vậy bạn, nói ra mình mới biết chứ, nói như bạn sao mình biết được.
[Up] [Print Copy]
  [Question]   Nối Tomcat vào Apache? 23/10/2010 22:02:52 (+0700) | #11 | 223526
Dpm
Member

[Minus]    0    [Plus]
Joined: 06/04/2009 01:43:30
Messages: 85
Offline
[Profile] [PM]
uh,ngắn gọn theo yêu cầu của bạn là như thế này:
---
ví dụ khi ta login vào forum của php thì
http://myweb/forum
còn login vào jforum thì
http://myweb:8080/jfoum
----
thì chả cần đến mod_proxy hoặc mod_jk làm gì.
chỉ cần file server.xml có đoạn này
--
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" wwwectPort="8443" />
jforum nằm trong webapps,vậy là xong.
trừ khi bạn muốn như thế này:
http://myweb/forum -->vào php forum.
http://myweb/jforum --> vào jforum
thì mới cần đến mod_jk hoặc mod_proxy.
cái mới lung tung trong file worker.properties bạn xem lại nhé,loadbalancer,worker.list,Jkmount...vv để làm gì?
[Up] [Print Copy]
  [Question]   Nối Tomcat vào Apache? 23/10/2010 22:48:04 (+0700) | #12 | 223530
zjm_zjm
Member

[Minus]    0    [Plus]
Joined: 26/07/2009 01:53:09
Messages: 159
Location: hhhhhh
Offline
[Profile] [PM] [WWW] [Yahoo!] [MSN] [ICQ]

Dpm wrote:
uh,ngắn gọn theo yêu cầu của bạn là như thế này:
---
ví dụ khi ta login vào forum của php thì
http://myweb/forum
còn login vào jforum thì
http://myweb:8080/jfoum
----
thì chả cần đến mod_proxy hoặc mod_jk làm gì.
chỉ cần file server.xml có đoạn này
--
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" wwwectPort="8443" />
jforum nằm trong webapps,vậy là xong.
trừ khi bạn muốn như thế này:
http://myweb/forum -->vào php forum.
http://myweb/jforum --> vào jforum
thì mới cần đến mod_jk hoặc mod_proxy.
cái mới lung tung trong file worker.properties bạn xem lại nhé,loadbalancer,worker.list,Jkmount...vv để làm gì? 


Nói vậy là bạn không hiểu rồi, đọc lại bài 1 "Nối tomcat vào apache"

khi chưa nối thì cái tomcat với apache http không có liên quan gì cả
[client] --------port 8080 ------> [tomcat_server]

khi nối tomcat vào client thì nó sẽ khác là các request từ client tới tomcat là phải qua apache http xử lý trước ....

Thì mình muốn nó là http://192.168.1.100/jforum
[Up] [Print Copy]
  [Question]   Nối Tomcat vào Apache? 24/10/2010 01:22:23 (+0700) | #13 | 223531
Dpm
Member

[Minus]    0    [Plus]
Joined: 06/04/2009 01:43:30
Messages: 85
Offline
[Profile] [PM]
Bạn cấu hình file workers.properties(không hợp lệ) có vẻ để chạy 2 tomcat và loadbalance,nhưng lại ko sử dụng loadbalancer mà chỉ sử dụng worker ajp13.
Nếu bạn chỉ chạy 1 tomcat thì về cơ bản chỉ cần như sau:
file mod_jk.conf:
Code:
LoadModule      jk_module modules/mod_jk.so
 JkWorkersFile   /etc/httpd/conf/workers.properties
 JkLogFile       /var/log/mod_jk.log
 JkLogLevel      error
 JkMount /jforum ajp13

file workers.properties:
Code:
ps=/
 worker.list=ajp13
 worker.ajp13.port=8007
 worker.ajp13.host=localhost
 worker.ajp13.type=ajp13

file server.xml:
Code:
<Connector port="8007" protocol="AJP/1.3" />

Còn nếu muốn chạy 2 tomcat và loadbalance thì điều chỉnh lại ports trên 2 tomcat và các files cấu hình tương ứng.
hoặc muốn Apache vẫn phục vụ static contents trên jforum thì điều chỉnh lại JkMount và DocumentRoot.
Còn nhiều tham số nữa bạn đọc tài liệu để hiểu rõ hơn.
[Up] [Print Copy]
  [Question]   Nối Tomcat vào Apache? 24/10/2010 09:53:37 (+0700) | #14 | 223548
zjm_zjm
Member

[Minus]    0    [Plus]
Joined: 26/07/2009 01:53:09
Messages: 159
Location: hhhhhh
Offline
[Profile] [PM] [WWW] [Yahoo!] [MSN] [ICQ]
Thật ra mấy cái option này mình đã thử nhiều lần, và thay đi thay lại không biết bao nhiêu lần nữa
File mod_jk.conf

Code:
[root@zjm ~]# grep -v "^#" /etc/httpd/conf.d/mod_jk.conf | sed '/^$/d'
LoadModule      jk_module modules/mod_jk.so
JkWorkersFile   /etc/httpd/conf/workers.properties
JkLogFile       /var/log/mod_jk.log
JkLogLevel     info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkOptions     +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat     "%w %V %T"
JkMount /jforum ajp13
Alias /examples "/usr/local/tomcat/webapps/examples"
<Directory "/usr/local/tomcat/webapps/examples">
    Options Indexes FollowSymLinks
</Directory>
JkMount /examples/servlet/* ajp13
JkMount /examples/*.jsp ajp13
<Location "/examples/WEB-INF/">
    AllowOverride None
    deny from all
</Location>
Alias /jforum "/usr/local/tomcat/webapps/jforum"
<Directory  "/usr/local/tomcat/webapps/jfroum">
    Options Indexes FollowSymLinks
</Directory>
JkMount /jforum/*.jsp ajp13
<Location "/jforum/WEB-INF/">
    AllowOverride None
    deny from all
</Location>
<Location "/jmx-console/">
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1
</Location>


Và đây là worker.properties


Code:
workers.tomcat_home=/usr/local/tomcat
workers.java_home=/usr/local/jdk1.6.0_21
ps=/
worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13


Còn file Server.xml mình đã làm tương tự.

Code:
<Server port="8005" shutdown="SHUTDOWN">

<Connector port="8009" protocol="AJP/1.3" />




[Up] [Print Copy]
  [Question]   Nối Tomcat vào Apache? 25/10/2010 03:07:43 (+0700) | #15 | 223600
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]
Đúng ra là nối apache vào tomcat chớ không phải nối tomcat vào apache bởi vì tomcat nằm trong, apache httpd nằm ngoài. Nối "vào" có nghĩa là nối từ ngoài vào trong.

Để nối apache httpd vào tomcat, cần phải hiểu rõ cơ chế hoạt động của apache httpd, của tomcat và của mod_jk (một module trên apache httpd dùng để kết nối). Mô hình đơn giản như thế này:

apache httpd -----> mod_jk -----> tomcat.

1. Trên tomcat, cần ấn định "connector" dùng giao thức gì (HTTP hay AJP13).

2. Trên apache, cấu hình của mod_jk và workers dùng để apache biết được nó cần connect vô connector nào của tomcat đã ấn định ở trên.

Điều này có nghĩa, connector trên Tomcat phải sẵn sàng trước khi apache connect vô tomcat.

- Nếu cấu hình connector trên Tomcat là:
<Connector port="8007" protocol="AJP/1.3" />

thì chắc chắn phải có port 8007 đang "lắng nghe".


Trên apache, hai config cần thiết là workers và mod_jk.

a. workers.props:
worker.worker1.port=8007 # đây là connector port đã ấn định trên tomcat ở trên.
worker.worker1.host=localhost # nếu apache httpd và tomcat chạy trên cùng 1 server.
worker.worker1.type=ajp13
# có thể thêm các parameters dưới này như connection_pool, cachesize, socket_keepalive... tuỳ nhu cầu. Đọc tài liệu dành riêng của tomcat connector worker.


b. mod_jk.props:
JkWorkersFile /path/to/worker.props
Jkmount /<context_of_tomcat_app>/* worker1

Trong đó,

- JkWorkersFile là directive cần thiết để kèm theo file "worker.props" mà mình đã chuẩn bị ở trên. Nếu không, apache chẳng biết worker1 là cái gì hết.

- <context_of_tomcat_app> chính là application context trên tomcat. Ví dụ, application context của HVA forum ở thời điểm hiện tại là "hvaonline" và * là wildcard chỉnh định rằng tất cả mọi thứ trong /hvaonline/ đểu được "mount".

- worker1 chính là tên worker đã được thiết lập trên worker.props.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Nối Tomcat vào Apache? 25/10/2010 09:34:47 (+0700) | #16 | 223614
zjm_zjm
Member

[Minus]    0    [Plus]
Joined: 26/07/2009 01:53:09
Messages: 159
Location: hhhhhh
Offline
[Profile] [PM] [WWW] [Yahoo!] [MSN] [ICQ]
Híc em comment hết trong file mod_jk,conf chỉ để vài cái sử dụng

nhưng vẫn lỗi 400.

đây là file log của error_log nó thông báo

Code:
[Tue Nov 30 10:38:27 2010] [notice] Digest: generating secret for digest authentication ...
[Tue Nov 30 10:38:27 2010] [notice] Digest: done
[Tue Nov 30 10:38:28 2010] [warn] No JkShmFile defined in httpd.conf. Using default /etc/httpd/logs/jk-runtime-status
[Tue Nov 30 10:38:28 2010] [notice] Apache/2.2.0 (Fedora) configured -- resuming normal operations
[Tue Nov 30 10:38:35 2010] [error] [client 192.168.1.33] ModSecurity: Access denied with code 400 (phase 2). Pattern match "^[\\d\\.]+$" at REQUEST_HEADERS:Host. [file "/etc/httpd/modsecurity.d/modsecurity_crs_21_protocol_anomalies.conf"] [line "60"] [id "960017"] [msg "Host header is a numeric IP address"] [severity "CRITICAL"] [tag "PROTOCOL_VIOLATION/IP_HOST"] [hostname "192.168.1.100"] [uri "/jforum/"] [unique_id "7HFiSX8AAAEAAAzAPg0AAAAA"]
[Tue Nov 30 10:38:37 2010] [error] [client 192.168.1.33] ModSecurity: Access denied with code 400 (phase 2). Pattern match "^[\\d\\.]+$" at REQUEST_HEADERS:Host. [file "/etc/httpd/modsecurity.d/modsecurity_crs_21_protocol_anomalies.conf"] [line "60"] [id "960017"] [msg "Host header is a numeric IP address"] [severity "CRITICAL"] [tag "PROTOCOL_VIOLATION/IP_HOST"] [hostname "192.168.1.100"] [uri "/jforum/"] [unique_id "7IOn@n8AAAEAAAzBQAoAAAAB"]
[Tue Nov 30 10:38:37 2010] [error] [client 192.168.1.33] ModSecurity: Access denied with code 400 (phase 2). Pattern match "^[\\d\\.]+$" at REQUEST_HEADERS:Host. [file "/etc/httpd/modsecurity.d/modsecurity_crs_21_protocol_anomalies.conf"] [line "60"] [id "960017"] [msg "Host header is a numeric IP address"] [severity "CRITICAL"] [tag "PROTOCOL_VIOLATION/IP_HOST"] [hostname "192.168.1.100"] [uri "/jforum/"] [unique_id "7JAWQn8AAAEAAAzCQjgAAAAC"]
[root@zjm ~]#


Không biết có phải là do modsecurity nó đã "làm gì " không?
[Up] [Print Copy]
  [Question]   Nối Tomcat vào Apache? 25/10/2010 09:47:56 (+0700) | #17 | 223617
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

zjm_zjm wrote:
Híc em comment hết trong file mod_jk,conf chỉ để vài cái sử dụng

nhưng vẫn lỗi 400.

đây là file log của error_log nó thông báo

Code:
[Tue Nov 30 10:38:27 2010] [notice] Digest: generating secret for digest authentication ...
[Tue Nov 30 10:38:27 2010] [notice] Digest: done
[Tue Nov 30 10:38:28 2010] [warn] No JkShmFile defined in httpd.conf. Using default /etc/httpd/logs/jk-runtime-status
[Tue Nov 30 10:38:28 2010] [notice] Apache/2.2.0 (Fedora) configured -- resuming normal operations
[Tue Nov 30 10:38:35 2010] [error] [client 192.168.1.33] ModSecurity: Access denied with code 400 (phase 2). Pattern match "^[\\d\\.]+$" at REQUEST_HEADERS:Host. [file "/etc/httpd/modsecurity.d/modsecurity_crs_21_protocol_anomalies.conf"] [line "60"] [id "960017"] [msg "Host header is a numeric IP address"] [severity "CRITICAL"] [tag "PROTOCOL_VIOLATION/IP_HOST"] [hostname "192.168.1.100"] [uri "/jforum/"] [unique_id "7HFiSX8AAAEAAAzAPg0AAAAA"]
[Tue Nov 30 10:38:37 2010] [error] [client 192.168.1.33] ModSecurity: Access denied with code 400 (phase 2). Pattern match "^[\\d\\.]+$" at REQUEST_HEADERS:Host. [file "/etc/httpd/modsecurity.d/modsecurity_crs_21_protocol_anomalies.conf"] [line "60"] [id "960017"] [msg "Host header is a numeric IP address"] [severity "CRITICAL"] [tag "PROTOCOL_VIOLATION/IP_HOST"] [hostname "192.168.1.100"] [uri "/jforum/"] [unique_id "7IOn@n8AAAEAAAzBQAoAAAAB"]
[Tue Nov 30 10:38:37 2010] [error] [client 192.168.1.33] ModSecurity: Access denied with code 400 (phase 2). Pattern match "^[\\d\\.]+$" at REQUEST_HEADERS:Host. [file "/etc/httpd/modsecurity.d/modsecurity_crs_21_protocol_anomalies.conf"] [line "60"] [id "960017"] [msg "Host header is a numeric IP address"] [severity "CRITICAL"] [tag "PROTOCOL_VIOLATION/IP_HOST"] [hostname "192.168.1.100"] [uri "/jforum/"] [unique_id "7JAWQn8AAAEAAAzCQjgAAAAC"]
[root@zjm ~]#


Không biết có phải là do modsecurity nó đã "làm gì " không? 


Bồ đọc kỹ mấy dòng error do mod_security và thử tìm hiểu nó là cái gì? Cái này chẳng dính líu gì tới mod_jk hết.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Nối Tomcat vào Apache? 25/10/2010 09:49:21 (+0700) | #18 | 223619
zjm_zjm
Member

[Minus]    0    [Plus]
Joined: 26/07/2009 01:53:09
Messages: 159
Location: hhhhhh
Offline
[Profile] [PM] [WWW] [Yahoo!] [MSN] [ICQ]
Ha ha ha thành công rồi thì ra do modsecurity nó chặn, em đã bỏ cái rule này

modsecurity_crs_21_protocol_anomalies.conf


Anh conmale giải thích và phân tích tại sao modsecurity nó lại chặn cái này,

thanks
thank you very much smilie
[Up] [Print Copy]
  [Question]   Nối Tomcat vào Apache? 25/10/2010 09:52:31 (+0700) | #19 | 223620
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

zjm_zjm wrote:
Ha ha ha thành công rồi thì ra do modsecurity nó chặn, em đã bỏ cái rule này

modsecurity_crs_21_protocol_anomalies.conf


Anh conmale giải thích và phân tích tại sao modsecurity nó lại chặn cái này,

thanks
thank you very much smilie 



msg "Host header is a numeric IP address" --> thay vì bồ access trang web của bồ ở dạng: http://www.abc.com, bồ access nó ở dạng: http://10.10.10.10

Mở rule "/etc/httpd/modsecurity.d/modsecurity_crs_21_protocol_anomalies.conf" ở dòng 60 ra coi là biết.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Nối Tomcat vào Apache? 25/10/2010 10:03:54 (+0700) | #20 | 223622
zjm_zjm
Member

[Minus]    0    [Plus]
Joined: 26/07/2009 01:53:09
Messages: 159
Location: hhhhhh
Offline
[Profile] [PM] [WWW] [Yahoo!] [MSN] [ICQ]
Ò yeah, em coi rồi, theo giải thích của anh thì em phần nào đã hiểu smilie
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|