我很难在我的可扩展的Openshift PHP应用程序上运行基本的http身份验证。在我的.htaccess文件中,我有:
AuthUserFile path/to/.htpasswd
AuthType Basic
AuthName "My App"
Require valid-user
这在我的本地测试服务器上运行良好,但是当我尝试在Openshift上使用它时,我得到503服务不可用,并且在我的haproxy.log中我得到:
[WARNING] 101/113040 (368468) : Server express/local-gear is DOWN, reason: Layer7 wrong status, code: 401, info: "Authorization Required", check duration: 2ms. 0 active and 0 backup servers left. 0 sessions active, 0 requeued, 0 remaining in queue.
[ALERT] 101/113040 (368468) : proxy 'express' has no server available!
所以我猜问题必须在HAProxy服务器上,但我不知道如何修复它。有什么想法吗?
非常感谢!
答案 0 :(得分:3)
haproxy提供了一项功能,可以将某个URL检查为sanitycheck。 Openshift默认启用此功能。 确保它指向正确的URL,或通过更改〜/ haproxy / conf / haproxy.cfg禁用它:
option httpchk GET /
到
#option httpchk GET /
中阅读更多内容
答案 1 :(得分:1)
您需要拥有haproxy可以访问的网址,否则会产生503错误。如果您只想创建一个up.html页面并将其从.htpasswd设置中排除,那么请更改您的haproxy / haproxy.cfg以轮询该网址而不是/.
此外,如果.htpasswd文件未存储在您的git仓库中,则不会将其复制到缩放应用程序中的每个齿轮。如果它在您的git仓库中,因此在您的Web可访问文件夹中,那么这是不安全的。