【发布时间】:2017-01-17 22:18:08
【问题描述】:
我已经部署了一个 Django 应用程序,直到昨晚一切都很好。当我尝试通过 webfaction 运行我的实时站点时,我的静态文件收到了一堆 403 禁止响应代码。我有一个指向项目顶层静态目录的符号链接,并且我的设置配置中的 STATIC_ROOT 是正确的。我还检查了一个给我问题的文件的权限,它说我至少有读/写权限。
但我仍然收到 403,不知道为什么,因为它已经运行了好几个月。 apache 配置也全部正确,站点运行平稳。它只是静态资源。
apache/conf/httpd.conf
ServerRoot "/home/abenton42/webapps/arkansastherapistconnection/apache2"
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule dir_module modules/mod_dir.so
LoadModule env_module modules/mod_env.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module modules/mod_mime.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule wsgi_module modules/mod_wsgi.so
LoadModule unixd_module modules/mod_unixd.so
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
CustomLog /home/abenton42/logs/user/access_arkansastherapistconnection.log combined
ErrorLog /home/abenton42/logs/user/error_arkansastherapistconnection.log
Listen 20377
KeepAlive Off
SetEnvIf X-Forwarded-SSL on HTTPS=1
ServerLimit 1
StartServers 1
MaxRequestWorkers 5
MinSpareThreads 1
MaxSpareThreads 3
ThreadsPerChild 5
WSGIDaemonProcess arkansastherapistconnection processes=2 threads=12 python-path=/home/abenton42/webapps/arkansastherapistconnection:/home/abenton42/webapps/arkansastherapistconnection/a$
WSGIProcessGroup arkansastherapistconnection
WSGIRestrictEmbedded On
WSGILazyInitialization On
WSGIScriptAlias / /home/abenton42/webapps/arkansastherapistconnection/arkansas-therapist-connection/wsgi.py
我还使用 echo $USER 检查了 linux 中的当前用户,以及我的顶级项目目录的文件权限。他们都是'abenton42'。
【问题讨论】:
-
尝试将
abenton42改为www-data,chown www-data:www-data base.css -
我不能做 chown abenton42:abenton42 base.css 吗?
-
你必须改变所有者然后apache才能访问你的静态文件。
-
我收到 chown www-data:www-data base.css 和 chown www-data base.css 的“Invalid User www-data”消息
-
尝试在这篇文章中做类似askubuntu.com/questions/365087/…
标签: django apache static http-status-code-403 django-staticfiles