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的主要内容,如果未能解决你的问题,请参考以下文章

如何在 aws elastic beanstalk 环境实例启动上运行 shell 脚本

如何在 AWS Elastic Beanstalk 上修改 Nginx 配置

如何在 AWS Elastic Beanstalk 上设置 HTTPS

如何在 AWS Elastic Beanstalk 上设置 HTTPS

在 AWS Elastic Beanstalk 上扩展 Magento

在 AWS Elastic Beanstalk 上运行节点和反应