ApacheサーバーにWSGI/Djangoを設定しましたが、すべて正常に動作します(html、css)が、pngなどの画像ファイルを要求しようとすると、403 Forbiddenが返されます。構成は次のとおりです。
sites-available/default
WSGIScriptAlias / /var/djangoblog/myDjangoBlog/wsgi.py
<Directory /var/djangoblog/myDjangoBlog>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>
Alias /robots.txt /var/www/robots.txt
Alias /favicon.ico /var/www/favicon.ico
Alias /static/ /var/djangoblog/static/
Alias /media/ /var/djangoblog/media/
<Directory /var/djangoblog/static>
Order allow,deny
Allow from all
</Directory>
<Directory /var/djangoblog/media>
Order allow,deny
Allow from all
</Directory>
また、httpd.confでallow from all
を試みましたが、運はありませんでした。
手伝っていただけませんか?
ほとんどの場合、これはposix-permissions-issueまたはselinux-context-issueです。問題のpngファイルがWebサーバーのユーザー/グループに読み取り可能で、パーミッション755であることを確認します。selinuxコンテキストを確認するには、「ls -RZl/var/djangoblog」を試して、リストされているコンテキストが提供されるファイルと提供されないファイルについても同じです。
その後、これははるかに少ない可能性があります。 Apacheはデフォルトでは疑わしいファイルをフィルタリングしているかもしれませんが、あなたがどのディストリビューションを使用しているかわからない巨大なオープンソースの荒野では、それは可能性です。 (debian、CentOS?)
Httpd.confおよびconf.d /のようなファイル/ディレクトリ(Apacheディレクティブを含むもの)をチェックしてください。特に、<FilesMatch ".(gif|jpg|jpeg|png)$">
などのpngファイルのリクエストに一致して拒否する可能性のある行を確認してください。これらのApacheグローバルファイルは、/ media///エイリアスが偶発的に含まれている場合、sites-enabled/defaultインスタンスもオーバーエイリアスしている可能性があります。