繁体   English   中英

使用 SSL 在 Apache 2.4 上启用网站图标

[英]Enable favicon on Apache 2.4 with SSL

我有 Django 应用程序,可以通过它提供网站图标。 但不建议这样做,所以我使用 Apache 进行了操作。

以前我有 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.ico 时,我得到 403:

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

我该如何解决?

更新:

  1. 我在这里发现 SSL 会忽略 ServerAliases,因此可能也会忽略别名。

  2. 是很好的概述如何使用 Django 提供网站图标,但我只想使用 Apache 来做这件事,以尽量减少对 Django 的请求数量。

  3. 这里一些开发人员建议我检查网站图标权限,但没有帮助。

  4. 问题出在限制访问整个网站的根位置指令中。 如果有人知道如何为 favicon 设置例外,请将其发布在答案中!

我的解决方案是删除:

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

而是使用:

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

它有助于提供 favicon,但我仍然不喜欢它,因为我已经删除了对 root url 的主机检查。 欢迎任何其他解决方案!

参数中指定的路径不是 URL 的一部分,而是为您的应用提供服务的文件系统的一部分。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM