Chuyển tới nội dung chính

Method for New TLS Configuration and Renewal for Gateway URL

Hướng dẫn này giải thích cách cấu hình TLS cho URL API Gateway của bạn, bao gồm chuẩn bị chứng chỉ, tạo bí mật Kubernetes và áp dụng TLS thông qua Controller Ingress Kong hoặc Console APIM.

Thiết lập TLS ban đầu (Mới)

Bước đầu tiên là chuẩn bị Chứng chỉ và Khóa TLS. Để làm điều này, bạn cần hai tệp:

  • tls.crt: Tệp chứng chỉ công khai
  • tls.key: Tệp khóa riêng

Chúng có thể được cấp bởi Let’s Encrypt hoặc một Cơ quan Chứng nhận (CA) tư nhân.

Đăng ký Chứng chỉ TLS dưới dạng Bí mật Kubernetes

Để sử dụng chứng chỉ TLS của bạn trong Kubernetes, bạn phải đăng ký nó dưới dạng một bí mật trong không gian tên nơi Kong được cài đặt (thường là kong).

Ví dụ Dòng lệnh

kubectl create namespace kong   # Bỏ qua nếu đã được tạo
kubectl create secret tls kong-gateway-cert \
--namespace kong \
--cert=certificate.crt \
--key=private.key

Mô tả Tham số

ParameterDescription
--certĐường dẫn đến tệp chứng chỉ công khai
--keyĐường dẫn đến tệp khóa riêng
--namespaceKhông gian tên nơi Kong được cài đặt (kong theo mặc định)

Bí mật Mẫu (Định dạng YAML Thô)

apiVersion: v1
kind: Secret
metadata:
name: kong-gateway-cert
namespace: kong
type: kubernetes.io/tls
data:
tls.crt: <chứng chỉ mã hóa base64>
tls.key: <khóa riêng mã hóa base64>

Áp dụng TLS cho Gateway Kong

Kong hỗ trợ cấu hình TLS bằng cách sử dụng:

  • Ingress
  • Gateway API
  • KongIngress

Phần này giải thích cả phương pháp dựa trên CLI và phương pháp dựa trên Console APIM.

Sử dụng Controller Ingress Kong (Mặc định)

Định nghĩa một tài nguyên Ingress được kích hoạt TLS bằng cách sử dụng bí mật đã tạo trước đó.

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: kong-ingress
namespace: kong
annotations:
kubernetes.io/ingress.class: kong
spec:
tls:
- hosts:
- api.example.com
secretName: kong-gateway-cert
rules:
- host: api.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: kong-proxy
port:
number: 80

Ghi chú Quan trọng:

Point Explanation
spec.tls.hostsĐịnh nghĩa DNS sẽ được sử dụng (ví dụ: api.example.com)
spec.tls.secretNamePhải khớp với tên bí mật bạn đã tạo (kong-gateway-cert)
ingress.classPhải là kong (mặc định khi sử dụng Controller Ingress Kong)
backend.service.nameThường là kong-proxy nếu được cài đặt qua Helm

Sử dụng Console APIM

Bạn cũng có thể áp dụng chứng chỉ trực tiếp qua Console APIM. Điều hướng đến Console APIM > Quản lý Gateway > Màn hình Chi tiết Gateway > Cài đặt URL Gateway

Các Trường Nhập:

  • URL Gateway: ví dụ, pms.api.skapim.com
  • Đường dẫn Cơ sở Toàn cầu: ví dụ, /
  • Chỉ HTTPS: Bật ON
  • Chứng chỉ TLS:
    • tls.crt: Dán nội dung chứng chỉ đầy đủ
    • tls.key: Dán khóa riêng đầy đủ
  • Lớp Ingress: Chọn lớp phù hợp (ví dụ, nginx, kong)

Tóm tắt

BướcNhiệm vụ
1Nhận và chuẩn bị chứng chỉ TLS (tls.crt, tls.key)
2Tạo Bí mật TLS Kubernetes
3Áp dụng TLS thông qua Controller Ingress Kong hoặc Console APIM
4Xác nhận truy cập gateway qua HTTPS và DNS khớp

Hướng dẫn này đảm bảo định tuyến HTTPS an toàn cho API Gateway của bạn bằng cách sử dụng TLS, cho dù được quản lý bởi DevOps qua CLI hay qua UI trong Console APIM.