希望有人可以提供幫助/建議,因爲我對Apache/Tomcat不是很熟悉..我已經在部署了grails應用的Tomcat前面安裝了Apache。我有IIs設置(通過其他人),它將www.xyz.com/myApp重定向到運行grails應用程序的Apache實例。在我的Apache的conf我有一個代理..Tomcat/Apache/Grails配置
ProxyPass /myApp http://localhost:8080/myApp
ProxyPassReverse /myApp http://localhost:8080/myApp
和我在我的tomcat定義的連接器server.xml中
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
proxyName="www.xyz.com"
proxyPort="443" />
這工作沒有任何問題
我現在要添加其它應用程序,以便在IIS中我不得不設置爲我www.xyz.com/myOtherApp
與
ProxyPass /myOtherApp http://localhost:8081/anotherApp
ProxyPassReverse /myOtherApp http://localhost:8081/anotherApp
在我的Apache的conf我添加了另一個連接器
<Connector port="8081" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
proxyName="www.xyz.com"
proxyPort="443" />
當我去www.xyz.com/myOtherApp我得到渲染(正確的,我認爲)作爲https://www.xyz.com/anotherApp但404錯誤的URL說「對象沒有找到「..
任何人都可以幫助我的配置?是否有可能在不同端口 上有兩個連接器具有相同的proxyName?正如我說我不熟悉Apache/Tomcat和我很想得到這個做盡快..
感謝
嗨@Stefan,這些應用都在同一個服務器和域名,所以我對消除了一個連接器定義。我現在離開
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<Listener className="org.apache.catalina.core.JasperListener" />
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
<Service name="Catalina">
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
proxyName="www.xyz.com"
proxyPort="443" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
</Engine>
</Service>
</Server>
另外我打開日誌記錄(JULI),但它似乎沒有報告任何東西。 Apache錯誤日誌只是給了我一個404 ..我把它留在HTTP而不是AJP,因爲我必須設置HTTPS,我不知道這是多麼容易。所以我留下了相同的問題,在一個應用程序的作品,另一個不..可以通過http運行多個grails應用程序,而不是使用ajp和虛擬主機?原諒我,如果我是愚蠢的 - 我沒有太多接觸webapps,我似乎已經停下來,我認爲應該是相對容易 - 部署!
嗨Stefan,應用程序確實生活在同一臺服務器和域上,所以我刪除了一個連接器定義。我現在只剩下 – user566311 2011-06-14 09:56:45