Мое приложение не нуждается в ответе на http-запросы, за исключением перенаправления их на https, но у меня возникли проблемы с настройкой для этого. У меня есть Django, за Guincorn, за балансировщик нагрузки уровня Google Cloud 4 (настроенный через кубернете). Я не использую nginx, потому что статические файлы обслуживаются через ведра для облачных хранилищ Google, поэтому он, казалось, добавляет излишнюю сложность (есть причина, почему это неправильно?)HTTPS перенаправление с kubernetes l4 load balancer
Когда я настраиваю guincorn для https, это не отвечать на http-запросы (ok). Первой идеей, которую я имел, было перебросить порты 80 и 443 через балансировщик нагрузки, а затем позволить django/guincorn позаботиться о перенаправлении, но я не могу получить обвинение в обслуживании как http, так и https в то же время, даже когда я пытался разоблачить два порта:
gunicorn --threads 2 -b :8000 --keyfile=key.txt --certfile=cert.txt myapp.wsgi
балансировки нагрузки конфиг:
apiVersion: v1
kind: Service
metadata:
name: xxx
labels:
name: xxx
spec:
ports:
- port: 443
name: https
targetPort: 8000
selector:
name: app
type: LoadBalancer
loadBalancerIP: xx.xx.xx.xx
возможно изменения это так, что gunicorn также будет отвечать на запросы HTTPS? (конфигурация Django настроена не на перенаправление HTTP-запросов).
Или я об этом совершенно не так? Должен ли я пытаться выполнить перенаправление на самом балансе нагрузки?