2017-01-18 3 views
1

У меня есть приложение Django и вы можете использовать favicon через него. Но это не рекомендуется, поэтому я сделал это с помощью Apache.Включить favicon на Apache 2.4 с помощью SSL

Раньше у меня были конфигурации 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> 

Папка существует и Favicon в нем находится.

Когда я пытаюсь получить доступ к favicon.ico я получаю 403:

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

Как я могу решить эту проблему?

Обновления:

  1. Я обнаружил, что here ServerAliases игнорируются с SSL, поэтому, вероятно, псевдонимы игнорируются, а также.

  2. Here хороший обзор Как обслуживать значки с Django, но я хочу сделать это только с Apache, чтобы свести к минимуму количество запросов к Django.

  3. Here Некоторые разработчики предложили мне проверить разрешения на использование favicon, но это не помогло.

  4. Проблема в корне Адрес директива, которая ограничивает доступ ко всему веб-сайту. Если кто-то знает, как сделать исключение только для значка, напишите его в ответ!

+0

Любая причина, по которой вы должны Alias ​​favicon, а не просто бросать ее на корне? – Eric

+0

@ Эрик Да, причина в том, что documentRoot отличается от местоположения favicon –

+0

Не должно быть Alias ​​/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. Любые другие решения приветствуются!