如何在从其他域播放时通过Facebook和http播放时使用https

时间:2014-02-07 19:57:51

标签: django ssl heroku https facebook-canvas

我们的用户通过我们的域名直接玩我们的Django游戏,发送到herokuapp.com。我们通过http。

申请我们的资产

我们想将我们的游戏添加到Facebook,这需要使用https。 Heroku可以处理这个问题。

使用https请求:我们的游戏适用于Facebook,但在通过我们的cnamed域访问时无法加载资源。

从我们的域名播放时,我们可以通过Facebook和http播放游戏时使用https吗?我们必须向settings.py添加哪些代码?

我们在settings.py中尝试了此代码,但它无效

选项1:

import socket
if socket.gethostname().startswith('app'):
  LIVEHOST = True
else:
  LIVEHOST = False

if LIVEHOST:
  STATIC_URL = "https://d******1.cloudfront.net/"
else:
  STATIC_URL = "http://d******1.cloudfront.net/"

选项2:

import socket
if socket.gethostname().startswith('edge'):
  LIVEHOST = True
else:
  LIVEHOST = False

if LIVEHOST:
  STATIC_URL = "https://d******1.cloudfront.net/"
else:
  STATIC_URL = "http://d******1.cloudfront.net/"

1 个答案:

答案 0 :(得分:1)

您可以使用protocol relative urls来避免担心要使用的协议。

所以设置看起来像:

STATIC_URL = "//d******1.cloudfront.net/"

您可以安全地摆脱代码段中的所有计算逻辑。