如何配置django-rest-swagger以获取HTTPS请求?
UPD: 存在SSL证书并且所有应用程序都使用它,但是swagger发出了http请求。
答案 0 :(得分:4)
在settings.py
,
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
有关详细信息,请参阅documentation ..
此外,您可能需要确保您的服务器正在转发x_forwarded_proto
,并且在nginx上将其添加到您在服务器配置中的位置:
proxy_set_header X-Forwarded-Protocol $scheme;
答案 1 :(得分:0)
@zaidfazil的答案几乎对我有用。我必须添加
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
添加到我的django设置中,但随后我不得不添加
proxy_set_header X-Forwarded-Proto https;
代替:
proxy_set_header X-Forwarded-Protocol $scheme;
为django应用提供服务的nginx定位块内部。
答案 2 :(得分:0)
在URL中的get_schema_view函数中输入url ='https://您的服务器地址/'。
但是swagger现在仅适用于https,如果您想同时使用http和https,则可以通过env变量进行处理。
答案 3 :(得分:-1)
这不是你的招摇的问题。只需在django服务的应用服务器上安装SSL证书。