Php 特定环境下的Elastic Beanstalk-set.htpasswd
我在Elastic Beanstalk中有一个PHP网站,配置在两个环境中,一个是生产环境,一个是阶段环境。在每个环境中,我都有一个APPLICATION_ENV环境变量集,它向代码标识运行它的环境。我不想让公众访问我的舞台网站,我想在这个环境中放置一个htpasswd,但不在制作环境中 为了实现这一点,我在.ebextensions中创建了一个配置。整个.ebextensions文件夹有三个文件:Php 特定环境下的Elastic Beanstalk-set.htpasswd,php,amazon-web-services,amazon-elastic-beanstalk,.htpasswd,Php,Amazon Web Services,Amazon Elastic Beanstalk,.htpasswd,我在Elastic Beanstalk中有一个PHP网站,配置在两个环境中,一个是生产环境,一个是阶段环境。在每个环境中,我都有一个APPLICATION_ENV环境变量集,它向代码标识运行它的环境。我不想让公众访问我的舞台网站,我想在这个环境中放置一个htpasswd,但不在制作环境中 为了实现这一点,我在.ebextensions中创建了一个配置。整个.ebextensions文件夹有三个文件: 01stage.config container_commands: command-01:
container_commands:
command-01:
command: "/bin/bash .ebextensions/set_stage_htpasswd.sh"
leader_only: true
#!/bin/bash
if [ "$APPLICATION_ENV" == "stage" ]; then
cp /var/app/current/.ebextensions/.htpasswd /var/app/current/
fi
my_username:my_password
这是尝试实现这一目标的正确方法还是有更好的替代方法。我认为
命令:
行中的引号给您带来了问题。如果shell正在寻找一个非常奇怪的命令,我不会感到惊讶。。。但是,即使没有问题,使用test:
指令有条件地执行所需的文件复制操作也可能更容易。试着做一些类似的事情:
container_commands:
command-01: cp .ebextensions/.htpasswd /var/app/current
test: "[ .$APPLICATION_ENV. = .stage. ]"
(环境变量container\u命令:
,但我不确定(您需要验证)它们是否也可以在本节的测试:
部分中使用。)