AWS 托管的 django 站点的 SSL 证书和 https

SSL certificates and https for AWS hosted django site

我有一个托管在 elastic beanstalk 上的 django 站点。我已获得 AWS SSL 证书,并且已与负载均衡器 443 HTTPS 端口相关联。

在我的配置文件中我有:

MIDDLEWARE = [
...
    "django.middleware.csrf.CsrfViewMiddleware",
]

CSRF_COOKIE_HTTPONLY = False
SESSION_COOKIE_HTTPONLY = True

通过此设置,我可以登录该站点,但浏览器在地址栏中显示 'not secure',如果我在网址前添加 'https://',我会看到一个页面,说明连接是不是私人的。

如果我加上

SESSION_COOKIE_SECURE = True
CSRF_COOKIE_SECURE = True

然后就无法登录(登录页面只是重新加载),或者如果我进入隐身浏览器,我会收到 'CSRF verification failed. Request aborted.' 消息。

很抱歉这个问题太长了,我只是试图包含任何可能相关的细节

settings.pyALLOWED_HOSTS 列表中添加 IP 和域。 可以放*,但不推荐。 *表示这里允许所有主机。

ALLOWED_HOSTS = ['your_ip']

我为端口 4443 配置了错误的负载均衡器侦听器。我将实例端口和实例协议设置为 443 和 https,而它们应该是 80 和 http