AWS 503 服务暂时不可用

Posted

技术标签:

【中文标题】AWS 503 服务暂时不可用【英文标题】:AWS 503 Service Temporarily Unavailable 【发布时间】:2018-08-18 18:54:10 【问题描述】:

我的前端连接到我在 AWS 中托管的服务器,从昨天开始我收到 503 Service Temporarily Unavailable 错误。

在 chrome 控制台中我有 2 个错误:

1:

http://myServerendpoint.com/getData 503 (Service Temporarily Unavailable)

2:

Failed to load http://myServerendpoint.com/getData : No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://myFrontEndPoint.com' is therefore not allowed access. The response had HTTP status code 503.

我已经将 cors 应用到服务器(它是 nodejs):

app.use(cors(
   allowedOrigin: ["*"],
   credentials: true
))

它一直工作到昨天。但从昨天开始,我一直收到这个错误并且没有任何线索。在 aws 日志中我得到了这个:

container_linux.go:247: starting container process caused “exec: \“/usr/bin/node\“: stat /usr/bin/node: no such file or directory”

知道有什么问题吗?

更新:

路径错误我将其更改为更正 /usr/bin/node 但现在出现权限被拒绝错误:

container_linux.go:247: starting container process caused "exec: \"/usr/bin/node\": permission denied"

我的码头文件:

FROM node:6-onbuild

RUN apt-get update && \
  apt-get -y install sudo

RUN mkdir -p /usr/bin/node
RUN chmod -R +x /usr/bin/node
RUN sudo chown -R $USER: /usr/bin/node
WORKDIR /usr/bin/node

COPY package.json /usr/bin/node
RUN npm install
COPY . /usr/bin/node

ENV PORT 80
EXPOSE $PORT

CMD [ "npm","run", "start" ]

新更新:

即使在使用 buildkite 构建后,duckerfile 配置也运行良好:

Removing intermediate container eac44b8f2a3f
Step 3/12 : RUN mkdir -p /usr/bin/node
 ---> Running in 9ac2ac7f960e
 ---> 970134252f9d
Removing intermediate container 9ac2ac7f960e
Step 4/12 : RUN chmod -R +x /usr/bin/node
 ---> Running in 8c54b0e3d813
 ---> 5ca0fe8180f6
Removing intermediate container 8c54b0e3d813
...
...
...
Successfully built 7f189f7e38cc
Successfully tagged 239820024964.dkr.ecr.ap......

所以问题不是在构建之前,而是在构建之后,当我们发送一个 http 请求时,我们的权限被拒绝了!

【问题讨论】:

消息“/usr/bin/node: 没有这样的文件或目录。”似乎是问题所在。那里有节点可执行文件吗? @RodrigoM 你是对的,路径错误,现在我添加了正确的路径,即 /usr/bin/node 但这一次我得到 container_linux.go:247:启动容器进程导致“exec : \"/usr/bin/node\": 权限被拒绝" 你启动节点了吗?有sh脚本吗?看起来它没有权限(chmod)来执行。 @SudharsanSivasankaran 实际上这个是用 docker 运行的,我已经使用了 RUN chmod -R +x /usr/bin/node 但仍然得到权限错误 能否请您发布您的 dockerfile? 【参考方案1】:

我们发现问题,如果有人需要,在我的情况下,我们的 ecs 任务 EntryPoint 有不同的节点路径,基本上我们的 docker 节点路径位于:/usr/local/bin/node 但我们的 ecs 任务入口点设置为 /usr/bin/node

【讨论】:

以上是关于AWS 503 服务暂时不可用的主要内容,如果未能解决你的问题,请参考以下文章

phpinfo() 导致 503 服务暂时不可用错误

Openshift - 当我访问应用程序时 503 服务暂时不可用

503服务暂时不可用jenkins x中的nginx / 1.13.9

无法在 aws-sdk(node.js)中收到 503 错误(服务不可用)的响应

HTTP 503 错误 – 服务不可用 (Service unavailable)

服务器总是在慢速请求中返回 503(服务不可用)(FastAPI + Vue)