2015-08-26 4 views
2

Я получаю 404 ошибки при попытке доступа к статическим файлам в своем приложении django в производстве на EC2, хотя он был поставлен в том же стеке Bitnami в Vbox абсолютно хорошо. Мои Alias записей в httpd.conf отлично работают для robots.txt и favicon.ico - Я могу получить к ним доступ правильно. Однако я не могу получить доступ к чему-либо конкретному в /static, используя его запись Alias (т. Е. На всех страницах).404 Ошибка со статическими файлами, обслуживаемыми через Django/Apache (Bitnami)

У меня нет ошибок в моих журналах apache относительно блокировки конфигураций сервера/etc, а разрешения в моей папке static (временно) установлены на 777, и это не помогает. Что я делаю не так?

Мой STATIC_ROOT является /opt/bitnami/apps/django/django_projects/data_dashboard/project/static

Мой httpd.conf файл выглядит следующим образом:

<Directory /opt/bitnami/apps/django/django_projects/data_dashboard/project/project> 
<Files wsgi.py> 
Require all granted 
</Files> 
</Directory> 

WSGIScriptAlias//opt/bitnami/apps/django/django_projects/data_dashboard/project/project/wsgi.py 

<Directory "/opt/bitnami/apps/django/django_projects/data_dashboard/project/static"> 
    Require all granted 
</Directory> 


Alias /static /opt/bitnami/apps/django/django_projects/data_dashboard/project/static 
Alias /robots.txt /opt/bitnami/apps/django/django_projects/data_dashboard/project/static/robots.txt 
Alias /favicon.ico /opt/bitnami/apps/django/django_projects/data_dashboard/project/static/favicon.ico 

httpd-vhosts.conf Мои:

<VirtualHost *:80> 
ServerName ec2-xx-xx-xxx-xx.eu-west-1.compute.amazonaws.com 

Include "/opt/bitnami/apps/django/django_projects/data_dashboard/project/conf/httpd-app.conf" 
</VirtualHost> 

<VirtualHost *:443> 
ServerName ec2-xx-xx-xxx-xx.eu-west-1.compute.amazonaws.com 
SSLEngine on 
SSLCertificateFile "/opt/bitnami/apps/django/django_projects/data_dashboard/project/conf/certs/server.crt" 
SSLCertificateKeyFile "/opt/bitnami/apps/django/django_projects/data_dashboard/project/conf/certs/server.key" 

Include "/opt/bitnami/apps/django/django_projects/data_dashboard/project/conf/httpd-app.conf" 

Мои http-app.conf:

<IfDefine !IS_DJANGOSTACK_LOADED> 
Define IS_DJANGOSTACK_LOADED 
WSGIDaemonProcess wsgi-djangostack processes=2 threads=15 display-name=%{GROUP} 
</IfDefine> 

<Directory  "/opt/bitnami/apps/django/django_projects/data_dashboard/project/project"> 
Options +MultiViews 
AllowOverride All 
<IfVersion <2.3> 
    Order allow,deny 
    Allow from all 
</IfVersion> 
<IfVersion >= 2.3> 
    Require all granted 
</IfVersion> 

WSGIProcessGroup wsgi-djangostack 

WSGIApplicationGroup %{GLOBAL} 
<IfVersion <2.3> 
    Order allow,deny 
    Allow from all 
</IfVersion> 
<IfVersion >= 2.3> 
    Require all granted 
</IfVersion> 

</Directory> 



<Directory "/opt/bitnami/python/lib/python2.7/site-packages/django"> 
Options +MultiViews 
AllowOverride All 
<IfVersion <2.3> 
    Order allow,deny 
    Allow from all 
</IfVersion> 
<IfVersion >= 2.3> 
    Require all granted 
</IfVersion> 

</Directory> 

ответ

0

Я решил это, хотя и не выяснить точную проблему, к сожалению. Я создал пустой сервер EC2 с тем же стекем, взял файлы conf Apache со всех уровней и добавил в параметры, которые, как я полагал, были добавлены. Таким образом, начался конфликт с нуля.

0

Из документации (https://wiki.bitnami.com/BitNami_Cloud_Hosting/Base_stack), похоже, Amazon EC2 использует версию Apache версии 2.2.29. Вы должны изменить httpd.conf, чтобы охватить как эту версию и один в вашей другой установке

<Directory /opt/bitnami/apps/django/django_projects/data_dashboard/project/static> 
    <IfVersion <2.3> 
     Order allow,deny 
     Allow from all 
    </IfVersion> 
    <IfVersion >= 2.3> 
     Require all granted 
    </IfVersion> 
</Directory> 
+0

Благодарим за это. К сожалению, мой стек использует 2.4.12. Я пробовал это в любом случае для ясности, и та же проблема сохраняется. – samg86

Смежные вопросы