使用kubernetes l4负载均衡器进行HTTPS重定向

时间:2017-02-03 20:37:13

标签: django redirect kubernetes google-cloud-platform gunicorn

我的应用程序不需要响应http请求,除了将它们重定向到https,但我没有为此配置它。我在Guincorn后面的Django背后是Google Cloud 4级负载均衡器(通过kubernetes设置)。我没有使用nginx,因为静态文件是通过谷歌云存储桶提供的,所以它似乎增加了不必要的复杂性(这是错误的原因吗?)

当我为https配置guincorn时,它不响应http请求(ok)。我的第一个想法是通过负载均衡器转发端口80和443,然后让django / guincorn负责重定向,但是我不能同时使用guincorn来同时提供http和https,即使我试图暴露两个端口:

git add frontend/www/site-resources/product/media/

负载均衡器配置为:

gunicorn --threads 2 -b :8000 --keyfile=key.txt --certfile=cert.txt myapp.wsgi

有可能改变这一点,以便gunicorn也会回答https请求吗? (Django配置设置为不重定向http请求) 或者我完全错了?我应该尝试在负载均衡器本身执行重定向吗?

1 个答案:

答案 0 :(得分:0)

来自kubernetes的建议是使用一个入口控制器(在这种情况下)一个nginx将http重定向到https。

这是做什么的:   - 如果未正确设置,nginx会查看http_forwarded_for并重定向到https。   - 入口实际上将为您终止https,以便您的应用程序不必执行此操作。

请查看https://github.com/kubernetes/contrib/tree/master/ingress/controllers/nginx以获取详细示例。