我尝试使用Elastic Beanstalk在ec2实例上添加http Basic Auth。我遵循本指南“ http://sarahcassady.com/2016/09/18/deploy-aws-eb-app-with-auth-and-ssl/”,但是当我上传时它不起作用。
我尝试更改示例的proxy_pass,因为我使用了http://nodejs,但仍然无法正常工作。
最糟糕的是,我需要上传我的代码以进行部署并等待所有时间……您知道有什么可以改善的地方?
感谢您的帮助
编辑:添加我使用的代码
# .ebextensions/01-http_basic_auth_staging.config
files:
/etc/nginx/.htpasswd:
mode: "000755"
owner: root
group: root
content: |
username:$apr1$k5WkOMBL$0FZNIWOLQMsHJAOREjemC/
/etc/nginx/conf.d/staging.conf:
mode: "000755"
owner: root
group: root
content: |
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://nodejs;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
/tmp/deployment/nginx_auth.sh:
mode: "000755"
content: |
sed -i 's/$proxy_add_x_forwarded_for;/$proxy_add_x_forwarded_for;\n auth_basic "Restricted";\n auth_basic_user_file \/etc\/nginx\/.htpasswd;\n/' /etc/nginx/conf.d/staging.conf
container_commands:
01nginx_auth:
command: "/tmp/deployment/nginx_auth.sh"
02restart_nginx:
command: "service nginx restart"
同样在这里-您能正常使用吗?.htpasswd在实例中可用。但是.config文件不存在,因此没有出现基本身份验证。我还尝试了“新”方式,并添加了.config文件,就像文档说的那样:https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/java-se-nginx.html但是,结果相同,实例中不存在配置文件,因此不会出现“基本身份验证”。