【问题标题】:Switching Djanto's STATIC_URL to HTTPS when site is accessed via HTTPS通过 HTTPS 访问站点时将 Djanto 的 STATIC_URL 切换为 HTTPS
【发布时间】:2016-06-08 05:19:59
【问题描述】:

我有一个按以下方式设置的 Django 项目:

  • Apache 通过 https://example.comhttps://example.com 上的 WSGI 为 Django 提供服务。
  • Apache 还为 http://static.example.comhttps://static.example.com 提供服务。

模板是针对静态文件设置的(例如):

{% load staticfiles %}
[...]
<script src="{% static 'site/js/main.js' %}"></script>

但是有一个问题。当通过 HTTPS 访问 Django 站点时,浏览器倾向于抱怨安全性,因为静态文件仍然通过 HTTP 提供服务。例如 Chrome:

所以问题是,有没有办法告诉 Django 在通过 HTTPS 访问网站时使用https://static.example.com/ 作为STATIC_URL

【问题讨论】:

    标签: python django http https static-site


    【解决方案1】:

    由于您为资产使用单独的子域,您可以使用protocol-relative URL,它始终使用与源页面相同的协议:

    STATIC_URL = "//static.example.com"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多