通过HTTPS

时间:2016-02-25 12:24:06

标签: python django http https static-site

我按以下方式设置了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:

Chrome doesn't like it

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

1 个答案:

答案 0 :(得分:2)

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

STATIC_URL = "//static.example.com"