2016-05-03 18 views
12

Có cách nào để buộc nâng cấp SSL cho các kết nối đến trên bộ cân bằng tải không? Hoặc nếu điều đó là không thể với, tôi có thể vô hiệu hóa cổng: 80? Tôi đã không tìm thấy một trang tài liệu tốt phác thảo như một tùy chọn trong tập tin YAML. Cảm ơn rất nhiều trước!Cách buộc SSL cho Kubernetes Ingress trên GKE

+0

Ý anh là gì bởi "SSL nâng cấp cho đến kết nối ". Bạn có thể vui lòng xây dựng? Ngoài ra, bạn có thể vui lòng giải thích về những gì bạn đang cố gắng làm không? –

+0

Tôi muốn chuyển hướng các kết nối tới cổng http 80 tới cổng https 443, lý tưởng tại bộ cân bằng tải Kubernetes Ingress - nếu điều đó là có thể. Nếu không, điều gì sẽ là cân bằng tải chiến lược tốt nhất cả 80 và 443, và đặt một haproxy phía sau LB để tiến lên? –

Trả lời

17

https://github.com/kubernetes/ingress-gce#frontend-https

Bạn có thể chặn HTTP thông qua các chú thích kubernetes.io/ingress.allow-http: "false" hoặc chuyển hướng HTTP thành HTTPS bằng cách xác định một backend tùy chỉnh. Thật không may GCE không xử lý chuyển hướng hoặc viết lại trực tiếp tại lớp L7 cho bạn.

+0

Cảm ơn rất nhiều, cũng cho liên kết! Chuyển hướng có phải là tính năng được lên kế hoạch không? –

+1

Đây có phải là lý do tại sao nếu tôi trả lại 301 trong khối máy chủ HTTP nginx của tôi thành HTTPS thì kết quả trong vòng lặp 301. –

3

Nếu bạn không bị ràng buộc vào Ingress khiển GCLB bạn có thể có một cái nhìn tại Nginx Ingress Controller. Bộ điều khiển này khác với bộ điều khiển tích hợp theo nhiều cách. Đầu tiên và quan trọng nhất bạn cần phải triển khai và quản lý một mình. Nhưng nếu bạn sẵn sàng làm như vậy, bạn sẽ nhận được lợi ích của việc không phụ thuộc vào GCE LB (20 $/tháng) và nhận hỗ trợ cho IPv6/websockets.

Các documentation trạng thái:

Theo mặc định chuyển hướng điều khiển (301) để HTTPS nếu TLS được kích hoạt cho sự xâm nhập đó. Nếu bạn muốn tắt hành vi đó trên toàn cầu, bạn có thể sử dụng ssl-redirect: "false" trong bản đồ cấu hình NGINX.

gần đây phát hành 0.9.0-beta.3 đi kèm với một chú thích bổ sung cho thực thi một cách rõ ràng chuyển hướng này:

Force chuyển hướng đến SSL bằng cách sử dụng chú thích ingress.kubernetes.io/force-ssl-redirect

Các vấn đề liên quan