Django REST Swagger HTTPS请求

时间:2017-07-28 11:31:49

标签: python django django-rest-framework swagger-2.0 django-rest-swagger

如何配置django-rest-swagger以获取HTTPS请求?

UPD: 存在SSL证书并且所有应用程序都使用它,但是swagger发出了http请求。

4 个答案:

答案 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证书。