今天項目遇到一個問題,服務器部署的nginx,在訪問靜態圖片返回403 Forbidden。
容器是采用Dockerfile部署的,代碼如下:
FROM nginx:latest
MAINTAINER Zteel Zhan
# 拷貝html
COPY html /usr/share/nginx/html
# 拷貝配置文件
COPY nginx.conf /etc/nginx
EXPOSE 80
WORKDIR /usr/local/nginx
CMD ["nginx","-g","daemon off;"]
非常低調奢華的一段代碼,感覺一點毛病都沒有的樣子,但還是出了問題~
根據經驗判斷403 Forbidden是文件訪問權限問題,但是我沒有掛載宿主機目錄,我只是直接拷貝了宿主機中的html文件夾到容器里面。難道是這個原因?
所以我創建的時候給html文件夾加了可訪問權限。代碼修改如下:
FROM nginx:latest
MAINTAINER Zteel Zhan
# 拷貝html
COPY html /usr/share/nginx/html
# 添加目錄可訪問權限
RUN chmod -R 755 /usr/share/nginx/html
# 拷貝配置文件
COPY nginx.conf /etc/nginx
EXPOSE 80
WORKDIR /usr/local/nginx
CMD ["nginx","-g","daemon off;"]
重新發布,問題解決~
(>_<)
