我在Fargate中运行一个后端服务。我需要此服务在其负载平衡器上具有SSL证书,以便它可以与其他HTTPS服务对话。我已经创建了负载平衡器,它为我提供了一个AWS域(my-cool-app.us-east-1.elb.amazonaws.com)。
现在,当我尝试通过acm请求证书时,它失败并显示“需要其他验证”。因此,我不确定是否可以在不注册自定义域的情况下向此负载均衡器添加SSL证书?
此外,这是Django应用,除了将其保留为runserver
之外,我没有做任何其他事情,我知道这对生产不利,但我只需要首先使其成为开发环境就可以了。我是否需要更改Django的运行方式才能使SSL正常工作?还是负载均衡器足够?
答案 0 :(得分:0)
要将SSL用于某个域,您需要对该域具有控制权。对于AWS托管证书服务(ACM),您可以通过DNS validation或email validation进行验证,而这两个验证基本上都必须具有域控制才能进行验证。
当您尝试将ACM用于AWS拥有的域时,AWS的某人将需要批准SSL(他们不会)。
关于第二点,您要描述的是SSL卸载,其中负载平衡器将为HTTPS服务,然后在传输过程中终止加密。然后,它将使用目标组中定义的协议和端口将请求转发到Fargate容器。
您唯一要考虑的是如何向用户显示,例如,确保您网站上的所有CSS,JS ans链接均为HTTPS。您可以通过检查应用程序中的X-Forwarded-Proto
标头来检测传入请求是否在负载均衡器上使用了HTTPS。