我正在尝试配置AWS ECS以运行在端口3000上运行应用程序的Docker镜像。当我配置我的ECS容器以将主机端口80转发到容器端口3000时,ECS告诉我我的容器已启动并运行。但是,转到我的EC2实例的公共IP会导致超时(而不是像我期望的那样应用程序主页)。
有趣的是,如果我ssh到我的EC2实例并手动重启图像,我可以在我的浏览器中导航到端口80上的应用程序就好了。这是我用来手动运行图像的命令:
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>
<div id="demo"></div>
有人知道为什么ECS端口转发在手动启动和端口转发时不起作用吗?我能错过什么?
答案 0 :(得分:0)
我首先怀疑问题是您的安全组没有打开端口3000。作为测试,添加端口范围为if (context != null && context.Exception != null)
{
HttpContent requestContent = new HttpContent();
request.Content.CopyToAsync(requestContent);
ExceptionTelemetry telemetry = new ExceptionTelemetry(context.Exception);
// the requestBody is always empty because the stream is non-rewinadable?
string requestBody = requestContent.ReadAsStringAsync().Result;
telemetry.Properties.Add("Request Body", requestBody);
Logger.LogException(context.Exception);
}
的TCP规则将源更改为3000
Anywhere
。