beevelop/nginx-basic-auth为单个其他容器提供基本认证的简单Docker镜像。
bashdocker run -d --name web dockercloud/hello-world docker run -d -p 80:80 --link web:web --name auth beevelop/nginx-basic-auth
尝试访问并使用用户名foo和密码bar登录。
bashdocker run -d \ -e HTPASSWD='foo:$apr1$odHl5EJN$KbxMfo86Qdve2FH4owePn.' \ -e FORWARD_PORT=1337 \ --link web:web -p 8080:80 \ --name auth \ beevelop/nginx-basic-auth
使用单引号以防止
$符号被意外解析!
HTPASSWD(默认值:foo:$apr1$odHl5EJN$KbxMfo86Qdve2FH4owePn.):启动时会写入.htpasswd文件(非持久化)FORWARD_PORT(默认值:80):需要转发的源容器端口FORWARD_HOST(默认值:web):需要转发的源容器主机名该容器不需要挂载任何卷!不过,您可以在
/etc/nginx/*路径下找到所有相关配置文件。
通过换行符分隔用户可以实现多用户配置。为正确传递换行符,需使用Shell引用(如$'foo\nbar'):
bashdocker run -d --link web:web --name auth \ -e HTPASSWD=$'foo:$apr1$odHl5EJN$KbxMfo86Qdve2FH4owePn.\ntest:$apr1$LKkW8P4Y$P1X/r2YyaexhVL1LzZAQm.' \ beevelop/nginx-basic-auth
上述配置将创建2个用户(foo:bar和test:test)。
nginx: [emerg] host not found in upstream "web" in /etc/nginx/conf.d/auth.conf:80
web(--link foobar:web)jwilder/nginx-proxy)作为中央网关可能是合适的解决方案。只需配置VIRTUAL_HOST环境变量并禁用端口转发。manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务