问题 运行 AWS 上通过 HTTPS 的 Express 应用程序
Problem running Express app over HTTPS on aws
我有一个 ExpressJS 后端,我想 运行 通过 aws 上的 https(所以我在尝试连接我的 运行s 前端时不会出现 'mixed type content' 错误通过 https),运行使用 http 非常好,但使用 https 时它不起作用。
我之前问过这个问题,我得到了 'use nginx'、'use load balancer' 之类的答案,不幸的是我对这些东西了解不多,因为我对所有 aws 变体和选项都不是很有经验,有没有教程我可以一步一步来吗?或通过 https 为我的后端服务而不复杂的任何简单方法?
any easy way to serve my backend over https without complexity?
最简单的方法(不要与最便宜的方法混淆)是将您的 EB 环境更改为 load-balanced。您可以在 EB 控制台的配置设置中执行此操作。
此更改将为您的应用创建 Application Load Balancer,并将其放置在您的实例中 in-front。一旦 ALB 为 运行,您就可以遵循此 AWS 指南:
在上面,只有 Terminate HTTPS on the load balancer
部分是相关的。
根据您的应用程序的性质,它是完全动态的还是静态的,您也可以考虑使用 Using Elastic Beanstalk with Amazon CloudFront,而不是使用 ALB。 CloudFront 也可以很容易地设置为在客户端和 CloudFront 之间使用 HTTPS,但问题是 CloudFront 和您的 EB 实例之间的流量将通过互联网进行未加密 (HTTP)。显然,您可以将其设为 HTTPS,但这需要进一步的更改和配置,这不属于“简单方法”的范畴。
我有一个 ExpressJS 后端,我想 运行 通过 aws 上的 https(所以我在尝试连接我的 运行s 前端时不会出现 'mixed type content' 错误通过 https),运行使用 http 非常好,但使用 https 时它不起作用。 我之前问过这个问题,我得到了 'use nginx'、'use load balancer' 之类的答案,不幸的是我对这些东西了解不多,因为我对所有 aws 变体和选项都不是很有经验,有没有教程我可以一步一步来吗?或通过 https 为我的后端服务而不复杂的任何简单方法?
any easy way to serve my backend over https without complexity?
最简单的方法(不要与最便宜的方法混淆)是将您的 EB 环境更改为 load-balanced。您可以在 EB 控制台的配置设置中执行此操作。
此更改将为您的应用创建 Application Load Balancer,并将其放置在您的实例中 in-front。一旦 ALB 为 运行,您就可以遵循此 AWS 指南:
在上面,只有 Terminate HTTPS on the load balancer
部分是相关的。
根据您的应用程序的性质,它是完全动态的还是静态的,您也可以考虑使用 Using Elastic Beanstalk with Amazon CloudFront,而不是使用 ALB。 CloudFront 也可以很容易地设置为在客户端和 CloudFront 之间使用 HTTPS,但问题是 CloudFront 和您的 EB 实例之间的流量将通过互联网进行未加密 (HTTP)。显然,您可以将其设为 HTTPS,但这需要进一步的更改和配置,这不属于“简单方法”的范畴。