2017-01-18 12 views
1

私はDjangoアプリを持っており、それを介してfaviconを提供することができます。しかし、それは私がApacheを使って行ったので推奨されません。SSLでApache 2.4でfaviconを有効にする

以前はHTTP 80の設定がありました。 HTTPからSSL 443へ移動した後、私はもうサーバー上のファビコンにアクセスすることができません。

責任を負う設定の一部は、次のようになります。

<VirtualHost *:443> 

     DocumentRoot /home/ubuntu/project/project/ 

     Alias /favicon.ico /home/ubuntu/project/static/favicon.ico 
     Alias /static/ /home/ubuntu/project/static/ 

     <Location /> 
      Require host mysite.com 
     </Location> 

     <Directory /home/ubuntu/project/static> 
      Require all granted 
     </Directory> 
    </VirtualHost> 

フォルダが存在し、ファビコンは、それに位置しています。

私は403を得るfavicon.icoをアクセスしようとしています:

Forbidden 
You don't have permission to access /favicon.ico on this server. 

どのように私はそれを解決することができますか?

更新:

  1. 私はServerAliasesはSSLで無視されているので、おそらくエイリアスも同様に無視されhereを発見しました。

  2. Hereは良い概要Djangoでfaviconsを提供するにはどうすればよいですか?私はDjangoへのリクエスト数を最小限に抑えるためにApacheでのみ行います。

  3. Here一部の開発者は私にfaviconパーミッションを確認するよう勧めましたが、助けにはなりませんでした。

  4. 問題はルートロケーションディレクティブでウェブサイト全体へのアクセスを制限しています。誰かがfaviconのためだけに例外を作る方法を知っているなら、それを答えに投稿してください!

+0

なぜfaviconを別名にして、それをrootにドロップするだけではないのですか? – Eric

+0

@エリックはい、その理由は、documentRootがfaviconの場所と異なっているということです。 –

+0

別名/favicon.ico "/home/ubuntu/project/static/favicon.ico"(引用符付き) – Eric

答えて

0

私のソリューションを削除することでした:

<Location /> 
     Require host mysite.com 
    </Location> 

、代わりに使用した:

<Directory /home/ubuntu/project/project> 
     Require host mysite.com 
    </Directory> 

それはファビコンを提供するために役立ったが、私は削除したので、私はまだそれを好きではありませんルートURL上のホストのチェックその他のソリューションは大歓迎です!

関連する問題