[求助]nginx 托管 django 的静态文件,总是 403,按照其它的教程来修改配置、权限,自己也尝试了好多次,问题还是依旧,看看这边有没有能够提供解决思路的朋友,谢了

2017-09-13 17:14:30 +08:00
 fanfe
关于这个问题我在 stackoverflow 问了,但是得到的回复并不能解决问题
https://stackoverflow.com/questions/46169081/nginx-serving-django-static-and-media-files-403-forbidden

下面我描述一下配置和 log,希望能够得到解答,谢谢啦。

nginx.conf 配置:
#user www-data;
user me;
worker_processes 4;
pid /run/nginx.pid;
....

站点对应的 nginx 配置:
server {
add_header Access-Control-Allow-Origin *.mysite.com;
add_header Access-Control-Allow-Headers X-Requested-With;
add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
listen 80;
server_name mysite.com;
access_log /var/log/nginx/hitek.access.log;
error_log /var/log/nginx/hitek.error.log;

location / {
proxy_pass http://127.0.0.1:8010;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

location ~ ^/media/ {
#alias /var/www/html/mysite/media/;
alias /home/me/website/mysite/media/;
#alias /home/www-data/website/website/mysite/media/;
expires 1h;
access_log off;
}

location ~ ^/static/ {
#alias /var/www/html/mysite/collected_static/;
alias /home/me/website/mysite/collected_static/;
#alias /home/www-data/website/website/mysite/collected_static/;
expires 1h;
access_log off;
include /etc/nginx/mime.types;
}
}

ls -alt 查看文件夹及权限,
drwxrw-rw- 8 me me 4096 Sep 11 14:43 mysite
drwxr-xr-x 6 me me 4096 Sep 8 14:30 ..
drwxrw-rw- 4 me me 4096 Sep 7 11:41 .

各层目录除了 /home 为 root 用户外,后续路径用户均为 me

error log 大致表现为以下:
...
directory index of "/home/me/website/mysite/collected_static/" is forbidden
...
4084 次点击
所在节点    问与答
24 条回复
ipwx
2017-09-14 10:05:55 +08:00
@fanfe /home 和 /home/me 也必须 r-x。
fanfe
2017-09-14 13:43:54 +08:00
@ipwx
/ => drwxr-xr-x 4 root root 4096 Sep 12 09:33 home
/home => drwxr-xr-x 6 me me 4096 Sep 8 14:30 me
/home/me => drwxr-xr-x 4 me me 4096 Sep 7 11:41 website
后面的权限也是相同的。
ipwx
2017-09-14 13:47:56 +08:00
如果你不用 location ~ ^/static/ 而是用 location /static/ 呢?当然这是玄学。
fanfe
2017-09-14 14:00:19 +08:00
@ipwx 还真的就可以了=__=,还发现可能之前就解决但是因为浏览器缓存在作怪导致一直重复载入显示错误的页面。在此感谢以上各位。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/390432

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX