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檔案本地許可權問題
- linux檔案許可權問題Linux
- Android7.0檔案訪問許可權Android訪問許可權
- 上傳APP到Google Play許可權問題APPGo
- 關於oracle檔案許可權的問題Oracle
- Laravel 日誌檔案許可權問題Laravel
- ftp上傳的檔案指定許可權FTP
- 各位高手,問下許可權上的問題
- java的訪問許可權Java訪問許可權
- 解決從linux本地檔案系統上傳檔案到HDFS時的許可權問題Linux
- Ubuntu共享資料夾訪問許可權問題Ubuntu訪問許可權
- docker 部署 Laravel 上線訪問 403 記錄DockerLaravel
- Swift 中 Selector 方法的訪問許可權控制問題Swift訪問許可權
- 改變檔案或目錄的訪問許可權命令(轉)訪問許可權
- springboot 訪問上傳頁面因csrf出現403的問題Spring Boot
- weblogic上傳檔案預設許可權Web
- MySQL許可權問題MySql
- Android 7.0之訪問檔案的許可權和FileProvider類AndroidIDE
- Linux改變檔案或目錄的訪問許可權命令Linux訪問許可權
- hadoop命令報錯:許可權問題Hadoop
- Java 訪問許可權控制(6)Java訪問許可權
- mongoDB 3.0 安全許可權訪問MongoDB
- Swift4.0 訪問許可權Swift訪問許可權
- AndroidPermission訪問許可權大全Android訪問許可權
- Linux更改檔案及目錄許可權問題Linux
- 呼叫者儲存過程訪問許可權問題儲存過程訪問許可權
- MaxCompute/DataWorks許可權問題排查建議
- 域名訪問和ip訪問引起的http 403問題HTTP
- 如何上傳雲伺服器檔案許可權伺服器
- moderator permission的許可權問題
- Linux命令:改變檔案或目錄的訪問許可權(轉)Linux訪問許可權
- 採坑之Android手機訪問相簿許可權問題Android
- android 許可權問題Android
- SQL Server許可權問題SQLServer
- 使用nginx控制ElasticSearch訪問許可權NginxElasticsearch訪問許可權
- Think IN JAVA --------JAVA訪問許可權控制Java訪問許可權
- 怎樣提高Windows Azure Cloud Service中的WebRole的檔案訪問許可權WindowsCloudWeb訪問許可權