有没有一种方法可以使用AWS StartPortForwardingSession绑定到所有网络接口



我找不到一个有文档记录的方法,但我试图实现的是:我有一个DotNetCore WebAPI,我已经进行了码头化,我正在使用localport 8080连接到码头内的WebAPI到端口80。然而,该停靠图像需要连接到ElasticSearch API,该API只能使用AWS端口转发从我的本地主机访问。

这里的问题是,AWS端口转发只绑定到环回接口127.0.0.1,而docker永远无法到达这个接口。有办法吗?

您可以看到下面的localport 8991正在转发到AWS远程主机的ElasticSearch API,在同一端口上侦听。

c: \git\event.tracing\net>netstat-ano|findstr-i 8991

TCP 127.0.0.1:8991 0.0.0.0:0侦听18932

知道吗?谢谢

我在docker(compose(容器中运行它时遇到了同样的问题。在查看会话管理器插件代码后,将其硬编码为localhost。唯一的解决方案是使用ie.socat:

socat tcp-listen:8992,reuseaddr,fork tcp:localhost:8991

还有一个开放的github问题:https://github.com/aws/session-manager-plugin/pull/54还有一个我不太喜欢的黑客:https://github.com/aws/session-manager-plugin/issues/14#issuecomment-948519903

最新更新