AWS 托管的 django 站点的 SSL 证书和 https
Posted
技术标签:
【中文标题】AWS 托管的 django 站点的 SSL 证书和 https【英文标题】:SSL certificates and https for AWS hosted django site 【发布时间】:2021-12-24 14:44:32 【问题描述】:我在弹性 beantalk 上托管了一个 django 站点。我已获得 AWS SSL 证书,并且已与负载均衡器 443 HTTPS 端口相关联。
在我的配置文件中:
MIDDLEWARE = [
...
"django.middleware.csrf.CsrfViewMiddleware",
]
CSRF_COOKIE_HTTPONLY = False
SESSION_COOKIE_HTTPONLY = True
通过此设置,我可以登录该站点,但浏览器在地址栏中显示“不安全”,如果我在 URL 前添加“https://”,我会得到一个页面,说明连接不是私有的.
如果我添加
SESSION_COOKIE_SECURE = True
CSRF_COOKIE_SECURE = True
然后就无法登录(登录页面刚刚重新加载),或者如果我进入隐身浏览器,我会收到“CSRF 验证失败”。请求中止。消息。
抱歉这个问题太长了,我只是试图包含可能相关的任何细节
【问题讨论】:
【参考方案1】:我为端口 4443 配置了错误的负载平衡器侦听器。我将实例端口和实例协议设置为 443 和 https,而它们应该是 80 和 http
【讨论】:
【参考方案2】:在settings.py
在ALLOWED_HOSTS
列表中添加 IP 和域。
你可以放*
,但不推荐。 *
表示此处允许所有主机。
ALLOWED_HOSTS = ['your_ip']
【讨论】:
感谢@shafik,但这并没有解决主要问题,我已经修改了这个问题,因为我认为它可能根本不相关 https 工作正常吗?如果请求不是通过 HTTPS,通常会发生这种情况 不,这不起作用 - 你得到的连接不是私人页面以上是关于AWS 托管的 django 站点的 SSL 证书和 https的主要内容,如果未能解决你的问题,请参考以下文章
如何在AWS中为自己的S3托管站点添加SSL/TSL证书(https)
如何将 godaddy ssl 证书添加到托管在 aws ec2 上的站点