【发布时间】:2015-03-07 01:49:16
【问题描述】:
我希望使用 AWS API 在 EC2 实例中运行 docker,并且我有一个 Dockerrun.aws.json,如下所示:
{
"AWSEBDockerrunVersion": "1",
"Authentication": {
"Bucket": "<BUCKET>",
"Key": ".dockercfg"
},
"Image": {
"Name": "<NAME>:<TAG>",
"Update": "true"
},
"Ports": [
{
"ContainerPort": "80"
},
{
"ContainerPort": "443"
}
]
}
如您所见,我有多个端口要公开,但弹性 beantalk 只公开其中的第一个。
我在文档中找到了这句话:您可以指定多个容器端口,但是 AWS Elastic Beanstalk 仅使用第一个将您的容器连接到主机的反向代理并路由来自公共 Internet 的请求。
我的问题是为什么?
我有一个使用 Oauth2 协议的身份验证,出于明显的安全原因,我必须使用 HTTPS 协议。 有了这个限制,我只能选择 HTTP 或 HTTPS,因为我只能暴露 80 或 443 端口。
我尝试修改 ebextensions 以使用 EC2 实例级别的端口进行 nginx 重定向,但我失败了。 我该怎么办?
这个 stackoverflow 用户也有同样的问题。 Exposing multiple ports from Docker within Elastic Beanstalk
提前谢谢你
【问题讨论】:
标签: amazon-web-services nginx amazon-ec2 docker amazon-elastic-beanstalk