Điểm:0

Làm cách nào để đặt tuyến LB công khai thành proxy trên AWS?

lá cờ sd

Tôi đã xây dựng tuyến đường giao thông này trong VPC.

Route53->ACM(SSL)-> ALB công khai->EC2(proxy Nginx)->ALB riêng tư->ECS(Ứng dụng nội bộ)

Nhóm bảo mật của EC2 đang cho phép tcp 80 và 443. Nhóm bảo mật của ECS đang cho phép 80 từ nhóm bảo mật của EC2.

Khi tôi truy cập tên miền đã đăng ký ở Route53, nó đã nhận Tra cứu DNS 504 không thành công lỗi. Khi truy cập công khai tên DNS của ALB đã nhận 503 Dịch vụ tạm thời không có lỗi.

Tôi chắc chắn rằng ACM đang được cài đặt và tên DNS công khai của LB đang đăng ký với Route53 cùng với tên miền.

Cài đặt ALB trên mạng con công cộng đang được thực hiện bởi Terraform

tài nguyên "aws_lb_listener" "http" {
  load_balancer_arn = aws_lb.this.arn
  cổng = "80"
  giao thức = "HTTP"

  Hành động mặc định {
    gõ = "chuyển hướng"

    chuyển hướng {
      cổng = "443"
      giao thức = "HTTPS"
      status_code = "HTTP_301"
    }
  }
}

tài nguyên "aws_lb_listener_rule" "http_redirect" {
  người nghe_arn = aws_lb_listener.proxy.arn
  ưu tiên = 1

  hoạt động {
    gõ = "chuyển hướng"

    chuyển hướng {
      cổng = "443"
      giao thức = "HTTPS"
      status_code = "HTTP_301"
    }
  }

  điều kiện, tình trạng, trạng thái {
    đường_mẫu {
      giá trị = ["/*"]
    }
  }
}

tài nguyên "aws_lb_listener_rule" "http_forward" {
  người nghe_arn = aws_lb_listener.http.arn
  ưu tiên = 2

  hoạt động {
    gõ = "chuyển tiếp"
    target_group_arn = aws_lb_target_group.proxy.arn
  }

  điều kiện, tình trạng, trạng thái {
    host_header {
      giá trị = ["proxy.portsite.com"]
    }
  }
}

tài nguyên "aws_lb_listener_rule" "https_forward" {
  người nghe_arn = aws_lb_listener.https.arn

  hoạt động {
    gõ = "chuyển tiếp"
    target_group_arn = aws_lb_target_group.proxy.arn
  }

  điều kiện, tình trạng, trạng thái {
    host_header {
      giá trị = ["proxy.portsite.com"]
    }
  }
}

Có phải cả hai http_redirecthttp_forward cần thiết cho việc định tuyến? Hoặc chỉ http_redirect tốt? Và, không vấn đề gây ra bởi nó?

exeral avatar
lá cờ lk
hai nguồn tài nguyên cuối cùng: "aws_lb_listener_rule" "https_forward" có vẻ giống nhau (ngoại trừ phần trước)
Điểm:0
lá cờ lk

Quy tắc chuyển hướng được sử dụng để buộc http thành httpS.

Để gửi lưu lượng truy cập đến một chương trình phụ trợ, bạn cần sử dụng phía trước hoạt động.

Bạn có thể kiểm tra tiêu đề HTTP "Server" để biết ai đang gửi lỗi 503 (ALB, nginx, ECS, ...)

Nhóm bảo mật của ECS đang cho phép 80 từ nhóm bảo mật của EC2. : Nhóm bảo mật ECS phải cho phép ALB riêng tư. nhóm bảo mật ALB riêng phải cho phép phiên bản EC2

uotn avatar
lá cờ sd
Cảm ơn bạn đã trả lời. Lỗi 503 xuất phát từ tên DNS công khai của ALB. Giống như `proxy-1130301830.us-east-1.elb.amazonaws.com`. Sg ECS ​​đang cho phép ALB riêng và Sg ALB riêng đang cho phép IP của EC2.
uotn avatar
lá cờ sd
Tôi thấy nhóm mục tiêu là không lành mạnh. Tôi đặt trực tiếp IP của EC2 cho nó. EC2 nằm trong mạng con riêng tư, nhóm mục tiêu nằm trong ALB của mạng con công cộng. Vì vậy, họ không thể giao tiếp? - https://imgur.com/a/7Crag5l - https://imgur.com/a/gf0hmzq

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.