.netcore在生产中(aws)反向代理和elb?

时间:2018-10-11 19:51:49

标签: amazon-web-services .net-core

我将要在AWS中托管大量.net核心应用。在围绕最佳实践进行了大量研究之后,关于使用revserse代理来初步处理https请求并转发给kestrel的建议很多。因此,我们使用nginx配置了ec2 ami,它可以正常工作。

我的问题是,如果我们也使用负载均衡器,是否还需要反向代理?我们正在使用elb将流量分配到我们的ami以及ssl终端。

这是否意味着我们可以抛弃nginx?

1 个答案:

答案 0 :(得分:0)

可能不需要,除非您需要代理来做一些聪明的事情。

一个常见的模式是在实例前面的负载均衡器前面使用cloudfront(aws cdn /反向代理)。

Cdn基本上是一些dns骗术,是地理分布的反向代理的集合。

您可以通过将WAF(Web应用程序防火墙)插入elb或cdn中以主动阻止躲避请求来增强此配置。

使用cf + elb时,将安全组设置为仅允许elb访问实例,并且仅允许从Cloudfront访问elb。

Cloudfront可以自动处理http到https重定向,并且您可以使用来自aws证书管理器的免费ssl证书。假设您阻止Internet与Elb和Internet&实例之间的直接访问,则可以在云前端卸载https,并为Elb和后端实例使用http。