我将要在AWS中托管大量.net核心应用。在围绕最佳实践进行了大量研究之后,关于使用revserse代理来初步处理https请求并转发给kestrel的建议很多。因此,我们使用nginx配置了ec2 ami,它可以正常工作。
我的问题是,如果我们也使用负载均衡器,是否还需要反向代理?我们正在使用elb将流量分配到我们的ami以及ssl终端。
这是否意味着我们可以抛弃nginx?
答案 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。