Docker AWS Certificate Manager SSL NodsJS 失败
Docker AWS Certificate Manager SSL NodsJS failure
我使用 Docker 提供的 Cloudformation 模板创建并部署了 docker 集群 NodeJS 应用程序。
我的 NodeJS 应用程序将端口 80 和 443 映射到端口 3000。
我可以确认弹性负载均衡器具有端口 80 和 443 的侦听器。
为什么我可以在 http 上成功访问我的应用程序,但不能在 https 上访问?
例如:
http://app.myapp.com/api/health responds successfully but not https://app.myapp.com/api/health
通过网络和官方 docker 文档和论坛进行更多挖掘后。
我发现以下内容非常有用https://docs.docker.com/docker-for-aws/load-balancer/#more-full-examples
诀窍是为服务添加标签并公开端口 443。
请注意,如果您使用 stack deploy
,则 label
should be on the deploy level not on the service level
这是一个示例 docker 与堆栈部署一起使用的撰写文件
version: '3.3'
services:
node:
image: "8574365892346589.dkr.ecr.eu-central-1.amazonaws.com/app:1.5.1"
working_dir: /home/node/app
environment:
- APP_PORT=3000
- NODE_ENV=production
volumes:
- localstorage:/home/node/app
ports:
- "80:3000"
- "443:3000"
deploy:
mode: global
labels:
- "com.docker.aws.lb.arn=arn:aws:acm:eu-central-1:873456923456:certificate/blahblahblahblahblahblah"
update_config:
parallelism: 2
delay: 5s
restart_policy:
condition: any
delay: 5s
max_attempts: 5
window: 120s
volumes:
localstorage:
注意标签在部署下的样子
希望对您有所帮助
我使用 Docker 提供的 Cloudformation 模板创建并部署了 docker 集群 NodeJS 应用程序。
我的 NodeJS 应用程序将端口 80 和 443 映射到端口 3000。
我可以确认弹性负载均衡器具有端口 80 和 443 的侦听器。
为什么我可以在 http 上成功访问我的应用程序,但不能在 https 上访问?
例如: http://app.myapp.com/api/health responds successfully but not https://app.myapp.com/api/health
通过网络和官方 docker 文档和论坛进行更多挖掘后。
我发现以下内容非常有用https://docs.docker.com/docker-for-aws/load-balancer/#more-full-examples
诀窍是为服务添加标签并公开端口 443。
请注意,如果您使用 stack deploy
,则 label
should be on the deploy level not on the service level
这是一个示例 docker 与堆栈部署一起使用的撰写文件
version: '3.3'
services:
node:
image: "8574365892346589.dkr.ecr.eu-central-1.amazonaws.com/app:1.5.1"
working_dir: /home/node/app
environment:
- APP_PORT=3000
- NODE_ENV=production
volumes:
- localstorage:/home/node/app
ports:
- "80:3000"
- "443:3000"
deploy:
mode: global
labels:
- "com.docker.aws.lb.arn=arn:aws:acm:eu-central-1:873456923456:certificate/blahblahblahblahblahblah"
update_config:
parallelism: 2
delay: 5s
restart_policy:
condition: any
delay: 5s
max_attempts: 5
window: 120s
volumes:
localstorage:
注意标签在部署下的样子
希望对您有所帮助