如何在不使用 AWS 53 端点域或任何其他域的 ssl 的情况下使用多容器 docker 在 elasticbeanstalk 中启用 https?

Posted

技术标签:

【中文标题】如何在不使用 AWS 53 端点域或任何其他域的 ssl 的情况下使用多容器 docker 在 elasticbeanstalk 中启用 https?【英文标题】:How to enable https in elasticbeanstalk with multicontainer docker without using AWS 53 endpoint domain or any other domain's ssl? 【发布时间】:2021-09-08 10:44:08 【问题描述】:

我有带有以下 Dockerrun.json 的多容器的 elasticbeanstalk。和 elb 地址 http://app-name-env.ap-south-1.elasticbeanstalk.com/ ,现在我想将 HTTP 转换为 HTTPS 而不购买 AWS 53 端点(也可以购买任何其他基于成本的购买)。在某些示例中,他们使用带有 app-name-env.ap-south-1.elasticbeanstalk.com 作为域的 HTTPS。


  "AWSEBDockerrunVersion": 2,
  "containerDefinitions": [
    "environment": [
      "name": "POSTGRES_USER",
      "value": "admin"
    ,
      
        "name": "POSTGRES_PASSWORD",
        "value": "postgres"
      ,
      
        "name": "POSTGRES_DB",
        "value": "some-db"
      
    ],
    "essential": true,
    "image": "postgres:12-alpine",
    "memory": 300,
    "mountPoints": [
      "containerPath": "/var/lib/postgresql/data/",
      "sourceVolume": "postgres_data"
    ],
    "name": "db",
    "portMappings": [
      "containerPort": 5432,
      "hostPort": 5432
    ]
  ,
    
      "essential": true,
      "links": [
        "db"
      ],
      "name": "web",
      "image": "**********.dkr.ecr.ap-south-1.amazonaws.com/***:***",
      "memory": 300,
      "portMappings": [
        "containerPort": 80,
        "hostPort": 80
      ]
    
  ],
  "volumes": [
    "host": 
      "sourcePath": "postgres_data"
    ,
    "name": "postgres_data"
  
  ]

【问题讨论】:

什么例子?有链接吗? 这里@Marcin medium.com/beck-et-al/… 【参考方案1】:

很遗憾,您不能这样做。要获得 Https 所需的有效公共 ssl 证书,您需要您自己的域。您不能将 aws 提供的域用于 eb。

您所遵循的教程是使用 ACM 获取只能为您自己的域获取的 ssl 证书。

【讨论】:

以上是关于如何在不使用 AWS 53 端点域或任何其他域的 ssl 的情况下使用多容器 docker 在 elasticbeanstalk 中启用 https?的主要内容,如果未能解决你的问题,请参考以下文章

AWS 网络负载均衡器和 HTTPS 端点 [关闭]

如何使用 aws 为非 aws 来源的 https 保护域?

更新域的hosts文件[关闭]

具有 Route 53 域的 AWS S3 网站,需要通过 CloudFront 进行 https

如何保护从单个 Windows 机器访问此端点

如何从 lambda 调用 IAM 授权的 AWS ApiGateway 端点?