我刚刚将Wildfly Web应用程序上传到我的免费OpenShift帐户,以便我的团队成员可以查看。这是一项正在进行的工作,因此我不希望别人通过网络了解和访问它。如果我希望有人使用它,那么我会向他们发送网址" XXX-XXX.rhcloud.com"
有没有办法阻止人们在OpenShift上了解和访问我的Web应用程序?
答案 0 :(得分:3)
您可以使用Basic authentication,以便任何人在访问您的内容之前提供登录名/密码。
在openshift中有一个名为$ OPENSHIFT_REPO_DIR的环境变量,是您工作目录的路径,即/var/lib/openshift/myuserlongid/app-root/runtime/repo/
我创建了一个名为SECURE的新环境变量包装文件夹路径。
rhc set-env SECURE=/var/lib/openshift/myuserlongid/app-root/data --app myappname
最后我用ssh连接到我的应用
rhc ssh myappname
创建.htpasswd文件
htpasswd -c $SECURE/.htpasswd <username>
注意:htpasswd的-c选项会创建一个新文件,覆盖任何现有的htpasswd文件。如果您打算将新用户添加到现有的htpasswd文件,只需删除-c选项。
.htaccess文件
AuthType Basic
AuthName "Authentication"
AuthUserFile ${SECURE}/.htpasswd
Require valid-user
答案 1 :(得分:1)
我不确定你是否配置openshift以便url是私有的,但我相信你可以破解你的方式。您可以将应用的root-url设置为&#34; "XXX-XXX.rhcloud.com
&#34;而不是在XXX-XXX.rhcloud.com/some_hash
&#34;上托管您的应用。 (例如:XXX-XXX.rhcloud.com/2d6541ff807c289fc686ad64f10509e0e74ba0be22b0462aa0ac3a7a54dd20073101ddd5843144b9a9ee83d0ba882f35d49527e3e762162f76cfd04d355411f1
)
当人们在搜索引擎上找到您的网站时,您可以使用robot.txt或noindex元标记阻止抓取工具。您可以进一步了解它们here和here