tôi muốn chạy một Docker trong một trường hợp EC2 với AWS API, và tôi có một Dockerrun.aws.json như thế này:AWS đàn hồi Beanstalk, Dockerrun.aws.json và nhiều cổng vào Docker chạy
{
"AWSEBDockerrunVersion": "1",
"Authentication": {
"Bucket": "<BUCKET>",
"Key": ".dockercfg"
},
"Image": {
"Name": "<NAME>:<TAG>",
"Update": "true"
},
"Ports": [
{
"ContainerPort": "80"
},
{
"ContainerPort": "443"
}
]
}
Giống như bạn có thể thấy, tôi có nhiều cổng để lộ ra, nhưng beanstalk đàn hồi chỉ phơi bày đầu tiên của chúng.
Tôi tìm thấy câu này trong tài liệu: Bạn có thể chỉ định nhiều cổng container, nhưng AWS Elastic Beanstalk chỉ sử dụng cổng đầu tiên để kết nối vùng chứa của bạn với proxy ngược của máy chủ và yêu cầu tuyến từ Internet công cộng.
Câu hỏi của tôi là lý do tại sao?
Tôi có xác thực sử dụng giao thức Oauth2 và tôi phải sử dụng giao thức HTTPS vì lý do bảo mật rõ ràng. Với giới hạn này, tôi chỉ có thể chọn HTTP hoặc HTTPS, vì tôi chỉ có thể hiển thị cổng 80 hoặc 443.
Tôi đã cố gắng sửa đổi các chuyển hướng nginx với cổng ở cấp EC2, nhưng tôi đã thất bại . Tôi có thể làm gì?
Người dùng stackoverflow này có cùng vấn đề. Exposing multiple ports from Docker within Elastic Beanstalk
Cám ơn bạn trước