Назад | Перейти на главную страницу

Почему я получаю ошибку 403 при попытке доступа к источнику просмотра: https://ccachicago.pragmatometer.com/admin/static/css/base.css?

Я пытаюсь всеми правдами и неправдами получить / admin / static / подано в Apache SSL VirtualHost, предпочтительно Apache (который перенаправляет SSL-трафик на экземпляр Django Gunicorn), или запретить Apache, по крайней мере, Gunicorn обслуживает статический контент, пока я работаю над лучшим решением.

Я получаю 403, обслуживаемый Apache, и все проверенные мной разрешения предполагают, что каталог /usr/lib/python2.7/dist-packages/django/contrib/admin/static/ (и родители по мере необходимости) являются читаемый и исполняемый пользователем, работающим на сервере.

Видите ли вы что-нибудь не так в VirtualHost ниже, что объясняет, почему Apache не обслуживает рассматриваемый каталог как каталог с псевдонимом?

<VirtualHost *:443>
    ServerName ccachicago.pragmatometer.com

    Alias /media/ "/home/jonathan/ccachicago/media/"
    <Directory "/home/jonathan/ccachicago/media/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

    Alias /admin/static/ "/usr/lib/python2.7/dist-packages/django/contrib/admin/static/"
    <Directory "/usr/lib/python2.7/dist-packages/django/contrib/admin/static/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

    ProxyPass /media/ !
    ProxyPass /admin/static/ !
    ProxyPass / http://localhost:8080/
    ProxyPassReverse / http://localhost:8080/

     SSLEngine On
     SSLCertificateFile /etc/apache2/ssl/ssl.crt
     SSLCertificateKeyFile /etc/apache2/ssl/ssl.key
    ServerAdmin CJSHayward@PObox.com
</VirtualHost>

--ОБНОВИТЬ--

Я получаю ту же страницу с ошибкой 403, если закомментирую строки deny / allow. В файле журнала есть:

[Mon Jan 27 21:52:34.297099 2014] [authz_core:error] [pid 4818] [client 205.197.161.146:44895] AH01630: client denied by server configuration: /usr/lib/python2.7/dist-packages/django/contrib/admin/static/css

Так что что-то в моей конфигурации явно не работает; Теперь у меня есть:

<VirtualHost *:443>
    ServerName ccachicago.pragmatometer.com

    Alias /media/ "/home/jonathan/ccachicago/media/"
    ErrorLog /var/log/apache2/error.log
    <Directory "/home/jonathan/ccachicago/media/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

    Alias /admin/static/ "/usr/lib/python2.7/dist-packages/django/contrib/admin/static/"
    <Directory "/usr/lib/python2.7/dist-packages/django/contrib/admin/static/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        #Order deny,allow
        #Deny from all
        #Allow from 127.0.0.0/255.0.0.0 ::1/128
        #Allow from 0.0.0.0 ::1/128
        #Allow from all
    </Directory>

    ProxyPass /media/ !
    ProxyPass /admin/static/ !
    ProxyPass / http://localhost:8080/
    ProxyPassReverse / http://localhost:8080/

     SSLEngine On
     SSLCertificateFile /etc/apache2/ssl/ssl.crt
     SSLCertificateKeyFile /etc/apache2/ssl/ssl.key
    ServerAdmin CJSHayward@PObox.com
</VirtualHost>

Вы разрешаете доступ только с 127.0.0.0 и :: 1. Вы уверены, что заходите на сайт по этим адресам? Я бы сначала отключил ограничения доступа и посмотрел, что оттуда произойдет.


Ваш фрагмент журнала показывает, что вы не обращаетесь к серверу из 127.0.0.1 или :: 1, поэтому установленные вами ограничения доступа будут запрещать доступ, когда они действуют.