簡體   English   中英

使用別名時,Mod_JK,Tomcat和Apache Httpd“找不到文件”

[英]Mod_JK, Tomcat & Apache Httpd “File not found” when using Alias

我一直在嘗試尋找一種解決方案,我認為這應該是Alias在Tomcat和Apache Httpd中的一種非常普遍的用法,但我找不到它。

我有運行我的應用程序服務器的Tomcat,我希望能夠使用別名來提供動態內容。 我將Apache Httpd配置為Mod_JK的前端,以通過Tomcat提供所有動態文件。 除使用別名(因為Tomcat不知道如何處理別名)時,此方法工作正常。

基本上,我的Tomcat應用程序/ webapps / myApp里面有“ / folderA”,因此使用http:localhost:8080 / myApp / folderA以及localhost / myApp / folderA都可以正常工作。 我希望能夠使/ folderB指向/ folderA並提供動態內容,那就是事情失敗了。

我使用mod_jk使一切正常,並且別名請求被重定向到Tomcat,但是Tomcat不知道如何處理別名,因此它嘗試查找不存在的/ webapps / myApp / folderB,因此我得到了“找到”錯誤。

我嘗試使用<Context path...但隨后得到了靜態內容。 我還嘗試使用Apache RewriteRule將請求從/ folderB傳遞到/ folderA,但這也不起作用。 以下是我擁有的VirtualHost設置的示例。 我猜想我需要在Tomcat的末端做一些事情,以便它知道如何處理/ folderB並將其指向/ folderA或在將信息傳遞給Tomcat之前使httpd將/ folderB轉換為/ folderA。

任何幫助表示贊賞。 謝謝!

<VirtualHost *:80>


    DocumentRoot "/webapps/ROOT"
    Alias /folderB "webapps/ROOT/folderA"


    JkMount /folderB/* myWorker

    ServerName myServer.local
    ServerAlias www.myServer.local

    ErrorLog "logs/myServer.local-error.log"
</VirtualHost>

確實很晚,但是我遇到了同樣的問題,這是一個可行的解決方案:對於由mod_jk處理的所有文件,將忽略VirtualHost中別名

更新您的tomcat / conf / server.xml並向您的主機添加一個上下文:

  <Host name="your-domain.com" appBase="webapps">
    <!-- root path -->
    <Context path="" docBase="/your/app/" />
    <!-- alias for folderB -->
    <Context path="/folderB" docBase="/your/app/somewhere/else/folderb/" /> 
  </Host>

這確實讓我感到困惑,因為ColdFusion和Connector知道Apache別名。 如果有任何進展,我將更新我的答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM