当前位置:  开发笔记 > 编程语言 > 正文

无法从rhcloud.com应用程序URL访问Openshift上的NodeJS应用程序

如何解决《无法从rhcloud.com应用程序URL访问Openshift上的NodeJS应用程序》经验,为你挑选了1个好方法。

我已经在Openshift上部署了一个正常运行的NodeJS REST服务(使用Restify构建),因为我可以读取日志:

listening at http://127.2.188.1:8080

我使用了通常的环境参数来绑定IP和端口:

vars.ipaddress = process.env.OPENSHIFT_NODEJS_IP;
vars.port = process.env.OPENSHIFT_NODEJS_PORT || '8080';

事实上,如果我在登录时调用我的REST服务ssh,我会得到正确的响应:

curl http://127.2.188.1:8080/something/1337

如果我/something/1337在我的应用程序(http://myapp-myusername.rhcloud.com)的公共URL上调用相同的端点(),我会得到一个503, No server is available to handle this request.

由于我的应用程序已缩放,可能是一些配置问题,如果是,我该如何解决?



1> Shekhar..:

之所以发生这种情况,是因为OpenShift使用HAProxy作为可伸缩应用程序中的负载均衡器.HAProxy配置为ping root"/"url以进行运行状况检查,以确定您的应用程序是启动还是关闭.在您的应用程序中,您还没有在根URL上配置任何内容,因此当HAProxy ping"/"它获得503时,因此您的应用程序就像这样.有两种方法可以解决此问题

    创建一个index.html并将其推送到OpenShift应用程序

    更好的解决方案是配置HAProxy配置文件.SSH使用rhc ssh --app命令进入主设备,然后将目录更改为haproxy/conf,然后更新option httpchk GET /option httpchk GET /valid_location,最后使用rhc cartridge-restart --cartridge haproxy重启HAProxy.您可以访问http://myapp-myusername.rhcloud.com/haproxy-status来查看齿轮的状态.

希望这会帮助你.

推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有