AWS Elastic Beanstalk 上禁止使用 Django 403

Posted

技术标签:

【中文标题】AWS Elastic Beanstalk 上禁止使用 Django 403【英文标题】:Django 403 Forbidden on AWS Elastic Beanstalk 【发布时间】:2016-06-05 22:43:14 【问题描述】:

我正在学习在 AWS 上部署 Django 应用程序的教程。 来源我正在使用http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-django.html

我收到以下错误:

[Tue Feb 23 21:05:22.883666 2016] [core:error] [pid 3394] (13)Permission denied: [client 172.31.46.155:37871] AH00035: access to / denied (filesystem path '/opt/python/current/app/mysite/wsgi.py') because search permissions are missing on a component of the path

我的网页显示:

禁止

您无权访问此服务器上的 /。

这是我的文件路径:

virtualenvFolder
  - requirements.txt
  mysite
    -db.sqlite3.db
    -manage.py
    mysite
      -__init__.py
      -__init__.pyc
      -settings.py
      -settings.pyc
      -urls.py
      -urls.pyc
      -wsgi.py
      -wsgi.pyc
    .ebextensions
      -django.config
    .elasticbeanstalk
      -config.yml

requirements.txt:

Django==1.9.2
mysql-python==1.2.5

django.config:

option_settings:
  aws:elasticbeanstalk:container:python:
    WSGIPath: mysite/wsgi.py

config.yml:

branch-defaults:
  default:
    environment: django-env
    group_suffix: null
  global:
    application_name: mysite
    default_ec2_keyname: my-keypair
    default_platform: python2.7
    default_region: us-west-2
    profile: eb-cli
    sc: null

注意:我没有编写或更改自动生成的 config.yml。

【问题讨论】:

【参考方案1】:

这与 Django 无关,与 Apache 和文件权限有关。看起来您将 Django 应用程序存储在 Apache 进程无权访问的目录中。

请参阅this question 以获得解决方案。

【讨论】:

感谢您的帮助。这解决了问题。我现在有一个内部服务器错误,但我相信我以前见过这个。 提交一个新问题并在此处链接。也许我可以再帮你一次。

以上是关于AWS Elastic Beanstalk 上禁止使用 Django 403的主要内容,如果未能解决你的问题,请参考以下文章