如何配置django-rest-swagger以获取 HTTPS 请求?
upd:存在 SSL 证书并且所有应用程序都在使用它,但大摇大摆地发出 http 请求。
如何配置django-rest-swagger以获取 HTTPS 请求?
upd:存在 SSL 证书并且所有应用程序都在使用它,但大摇大摆地发出 http 请求。
将此设置添加到您的settings.py
,
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
有关更多详细信息,请参阅文档..
此外,您可能需要确保您的服务器正在转发x_forwarded_proto
,并在 nginx 上将此添加到您在服务器配置中的位置:
proxy_set_header X-Forwarded-Protocol $scheme;
将 url='https://your_server_address/', 放在 urls 中的 get_schema_view 函数中。
但是 swagger 现在只能在 https 上工作,如果你想同时在 http 和 https 上工作,你可以通过 env 变量来处理。
@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 位置块内。
这不是你招摇的问题。只需在您的 django 服务应用服务器上安装 SSL 证书。