Python 是否需要在Django应用程序中调整settings.py以正确设置SSL保护(使用nginx反向代理+;gunicorn)
我有一个Django应用程序,其中Web服务器是nginx reverse proxy+gunicorn 我的问题是:在Django应用程序的Web服务器上安装SSL时,是否需要在正确加载之前调整Python 是否需要在Django应用程序中调整settings.py以正确设置SSL保护(使用nginx反向代理+;gunicorn),python,django,ssl,nginx,Python,Django,Ssl,Nginx,我有一个Django应用程序,其中Web服务器是nginx reverse proxy+gunicorn 我的问题是:在Django应用程序的Web服务器上安装SSL时,是否需要在正确加载之前调整设置.py?或者即使不调整settings.py也可以访问 目前,对于我来说,只是超时,我正在尝试诊断这是否是我在Web服务器上安装SSL的问题,还是因为我尚未调整settings.py文件 例如,Django文档建议在settings.py中设置以下内容: 1) 设置SECURE\u PROXY\u
设置.py
?或者即使不调整settings.py也可以访问
目前,对于我来说,只是超时,我正在尝试诊断这是否是我在Web服务器上安装SSL的问题,还是因为我尚未调整settings.py文件
例如,Django文档建议在settings.py
中设置以下内容:
1) 设置SECURE\u PROXY\u SSL\u HEADER=('HTTP\u X\u FORWARDED\u PROTO','https')
以防代理吞并https
2) 将SECURE\u SSL\u REDIRECT
设置为True
将http流量定向到https。虽然这可以在Web服务器上更安全地完成
3) 将SESSION\u COOKIE\u SECURE
和CSRF\u COOKIE\u SECURE
设置为True
可确保仅通过https发送这些COOKIE
这些设置看起来都不是正确加载所必需的
事实证明,最后一根稻草是将相关端口(即端口443)包括在Azure门户中(我的基础设施所在地)。一般来说,您不需要更改任何内容即可使SSL正常工作。上述建议增加了安全性,但它们不是必须的 如果您的请求超时,可能有两个原因:
.conf
文件以确保一般来说,您不需要更改任何东西就可以使SSL正常工作。上述建议增加了安全性,但并非必须。如果超时,很可能NginX没有监听端口443。发布您的nginx conf文件以确保。@Selcuk:我也这么想。您可以添加这个作为答案,我将接受它并继续诊断我的web服务器。顺便说一句,如果你有任何建议,我可以看看,会很高兴听到你(我在这里设置了一个单独的问题:)你的配置文件看起来很好,我。我会剥离所有非关键位置指令(只留下proxy_pass块),以拥有一个裸露的minimum.conf文件并使用它进行测试。到目前为止,我假设我不必在单独的机器上打开端口443。这不可能是问题,对吧?不,不可能,它们完全无关。出于同样的原因,您也不需要在数据库计算机上打开端口80。