Docker構建的tomcat工程上傳檔案,訪問報403許可權問題
Docker構建的tomcat工程上傳檔案,訪問報403許可權問題
最近一個老工程因為要坐Apache Shiro升級(因為漏洞掃描高危了),結果發現shiro的版本升級到1.6以上需要jre8 以上才可以,不得已需要升級一下工程的jdk版本。以下記錄一下升級過程中遇到的一些坑。
1.因為工程是通過docker進行映象打包以及釋出的。所以基本構建是基於dockerFile來進行,當時為了省事,tomcat映象是採用的官方映象庫中的那種,也就是tomcat+jre一體的。
想升級jdk版本,就只能升級tomcat。既然是升級嘛,就直接拉了映象的最新版,進行釋出,修改後,程式執行一切正常,本以為這就完事了。
2.第二天業務就反饋,上傳的圖片展示不出來了。上去看,發現新上傳的圖片訪問都報403錯誤了,也就是普遍的許可權不足的錯誤,看伺服器檢視,確實新上傳的圖片許可權只有640,沒有讀許可權。當時第一反應就是,誰改了nginx配置,或者伺服器許可權配置?但是檢視一番,發現配置全都沒有更改。最後經過排查,以及查閱官方文件,tomcat8 下面catalina.sh 裡面註釋
# UMASK (Optional) Override Tomcat's default UMASK of 0027
然後我在使用的時候也沒有更改tomcat配置所以導致了這個問題。
解決方案有很多:
- 更改tomcat版本可以用tomcat7+jre8的,問題自然就解決了。
- 修改tomcat配置檔案,也就是修改catalina.sh裡面的配置:改預設許可權為0022
# Set UMASK unless it has been overridden
if [ -z "$UMASK" ]; then
UMASK="0022"
fi
umask $UMASK
當然,此次為了節省麻煩,還是直接採用了第一種方式來解決。
最後附上我這邊構建使用的DockerFile以供參考
# 這是最新版
FROM tomcat:latest
MAINTAINER "extendsGod"
ENV TZ=Asia/Shanghai
RUN mkdir -p /usr/local/tomcat/webapps/balaallla/
RUN mkdir -p /opt/aaa/aaa/
RUN ln -snf /usr/share/aaa/$TZ /etc/aaa && echo $TZ > /etc/aaa
ADD target/工程 /usr/local/tomcat/webapps/工程/
相關文章
- win共享檔案沒有許可權訪問怎麼辦 win10共享檔案許可權訪問的方法Win10
- hdfs檔案本地許可權問題
- Laravel 日誌檔案許可權問題Laravel
- 上傳APP到Google Play許可權問題APPGo
- Ubuntu共享資料夾訪問許可權問題Ubuntu訪問許可權
- Linux更改檔案及目錄許可權問題Linux
- docker 部署 Laravel 上線訪問 403 記錄DockerLaravel
- MaxCompute/DataWorks許可權問題排查建議
- Java 訪問許可權控制(6)Java訪問許可權
- public, private, protected 訪問許可權訪問許可權
- mongoDB 3.0 安全許可權訪問MongoDB
- MySQL許可權問題MySql
- 採坑之Android手機訪問相簿許可權問題Android
- 許可權的級聯問題
- 如何上傳雲伺服器檔案許可權伺服器
- 17-成員訪問許可權訪問許可權
- 使用nginx控制ElasticSearch訪問許可權NginxElasticsearch訪問許可權
- Centos sudo 許可權問題CentOS
- win10共享檔案沒有許可權訪問該怎麼辦Win10
- jenkins 容器內的許可權問題Jenkins
- sqlserver 賦予許可權的問題SQLServer
- 005.OpenShift訪問控制-許可權-角色
- 檔案上傳常見問題
- [BUG反饋]許可權管理 -> 訪問授權 點選後報錯
- Windows 11 資料夾訪問被拒絕,如何奪取檔案許可權Windows
- Ubuntu 下 Composer 許可權問題Ubuntu
- win10老跳出訪問許可權怎麼辦_win10訪問許可權怎麼關閉Win10訪問許可權
- 解決圖片訪問403 Forbidden問題ORB
- win10如何獲取檔案訪問許可權_win10怎麼獲取許可權看資料夾Win10訪問許可權
- 友好訪問許可權篇:訪問語音、相簿、通訊錄----iOS訪問許可權iOS
- 論Java訪問許可權控制的重要性Java訪問許可權
- postgresql關於訪問檢視需要的許可權SQL
- 39、安全_1(許可權、使用者profile檔案、密碼檔案、VPD對行級訪問的控制)密碼
- WPF + Winform 解決管理員許可權下無法拖放檔案的問題ORM
- Laravel 框架的日誌許可權問題Laravel框架
- Grafana9的dashboard許可權問題Grafana
- 如何在 Linux 中配置 sudo 訪問許可權Linux訪問許可權
- Linux的檔案存取許可權和0644許可權Linux