我有一個(gè) tomcat Servlet 應(yīng)用程序,它托管在不同機(jī)器上的多個(gè) tomcat 上。該應(yīng)用程序具有私有文件和公共文件。私有文件保存在每個(gè) webapp 文件夾中,但在運(yùn)行時(shí)生成的公共文件保存在公共 mpunt 點(diǎn),這是一個(gè)使用 nfs 的遠(yuǎn)程共享文件夾。該文件夾安裝在每臺(tái)機(jī)器上,然后在每個(gè) tomcat webapp 文件夾中創(chuàng)建一個(gè) simlink。這樣,任何一個(gè) tomcat 寫入的文件都可以被所有其他 tomcat 訪問。假設(shè)我有 4 個(gè) tomcat,每臺(tái)機(jī)器兩個(gè)。然后我在每臺(tái)機(jī)器上的路徑上安裝了我的共享文件夾/foo/bar/files。這是使用 nfs 從遠(yuǎn)程共享文件夾掛載的。現(xiàn)在,在每個(gè)應(yīng)用程序根目錄中都創(chuàng)建了指向該文件夾的 simlink。<Tomcat Home>/webapp/<app context>/files -> /foo/bar/files當(dāng)用戶上傳一些文件時(shí),我們將它放在這個(gè)文件夾中。這使得該文件可用于所有其他 tomcat。不,我的問題是當(dāng)我將文件寫入此文件夾時(shí),它成功發(fā)生了。但是當(dāng)用戶嘗試下載文件時(shí),它會(huì)給出Error code 404.我試過直接網(wǎng)址。<host>:<port>/<context>/files/foo.csv. 然后我也收到 404。我什至嘗試通過 Servlet 流式傳輸文件,但我在下載時(shí)卡住了,服務(wù)器端沒有 IO 錯(cuò)誤。我正在使用紅帽。請(qǐng)幫忙。提前致謝。
1 回答

慕桂英4014372
TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超13個(gè)贊
添加 allowLinking="true" 到 server.xml 的標(biāo)簽解決了這個(gè)問題。
添加回答
舉報(bào)
0/150
提交
取消