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 服务暂时不可用的主要内容,如果未能解决你的问题,请参考以下文章
Openshift - 当我访问应用程序时 503 服务暂时不可用
503服务暂时不可用jenkins x中的nginx / 1.13.9
无法在 aws-sdk(node.js)中收到 503 错误(服务不可用)的响应