找到了解決辦法!
Anonym給了我一個關於mod_jk的好消息。所以在這裏完整的配置(對於RHEL5)。
首先,下載mod_jk模塊的Apache:http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/linux/jk-1.2.31/x86_64/
將在模塊目錄/ etc/httpd的/模塊,使其executeable:
chmod +x mod_jk-1.2.31-httpd-2.2.x.so
之後,創建的/ etc/httpd的/ conf目錄/工。屬性:
# Define 1 real worker using ajp13
worker.list=worker1
# Set properties for worker1 (ajp13)
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
Port 8009是Glassfish jk連接器偵聽的地方(我們稍後會談到)。
不,我們必須配置mod_jk的,因此創建文件:
LoadModule jk_module modules/mod_jk-1.2.31-httpd-2.2.x.so
JkWorkersFile /etc/httpd/conf/workers.properties
# Where to put jk logs
JkLogFile /var/log/httpd/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel debug
# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"
# Send everything for context /atsi-war to worker named worker1 (ajp13)
JkMount /yourapp-war/* worker1
(這意味着從http://apache.webserver.com/yourapp-war/一切都會BI重定向:用以下內容/etc/httpd/conf.d/mod_jk.conf到Glassfish yourapp-war應用上下文)
重要的是,如果您在apache上使用虛擬主機,則必須爲您的虛擬服務器設置選項: JkMountCopy在 。解說:
如果該指令被設置爲「開」在 一些虛擬服務器,從 全球服務器將被複制到 坐騎此虛擬服務器,更準確地說 由JkMount或 JkUnMount定義的所有坐騎。
現在我們已經在GlassFish中創建JK連接器:
asadmin create-http-listener --listenerport 8009 --listeneraddress 0.0.0.0 --defaultvs server jk-connector
asadmin set configs.config.server-config.network-config.network-listeners.network-listener.jk-connector.jk-enabled=true
重新啓動Glassfish的,一切要高度重視的工作。
不幸的是,它不能解決問題。仍然是錯誤的環節。也許我可以在glassfish上創建一個重寫規則。還不知道。 – reen 2011-02-10 07:18:19