我在 EC2 上有一个面向互联网的 Elasticsearch 实例。另一方面,我的 web 服务是一个 Heroku 应用。
我想要保护 Elasticsearch 实例并仅允许来自我的 Heroku 应用程序的入站流量。
我发现这个Elasticsearch 插件但看起来有点麻烦。那么,保护xx.xx.xx.xx:9200
面向互联网的 EC2 实例的开放端口并连接到 Heroku 的最佳方法是什么?
SSL 是一个解决方案吗?我了解不多。
在 Heroku 中我使用 python。
类似问题:一和二有一个旧的解决方案Heroku 不再推荐。另一个选择是将 Web 服务移至 AWS 并将其保护在防火墙后面,但目前,我更喜欢让 Heroku 进行开发操作。
答案1
因为 heroku 是基于云的,所以你的 heroku IP 地址不是静态的。安全组解决方案在这里不适用。我会使用 SSL 和一些身份验证(在我看来,HTTP 身份验证就足够了,但我不是安全专家)。
如果您想要走极端,那么同时具有服务器和客户端证书的 SSL 才是最佳选择。
如果它不支持上述功能,您可以使用 nginx 作为弹性搜索的反向代理。