Skip to content

beevelop/docker-nginx-basic-auth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub Workflow Status Docker Pulls Docker Stars Docker Image Size (tag) License GitHub release GitHub Release Date CalVer Beevelop

Docker Nginx Basic Auth - Simple Authentication Proxy

Lightweight nginx reverse proxy with HTTP basic authentication for securing Docker containers and web applications.

Quickstart

docker run -d --name web dockercloud/hello-world
docker run -d -p 80:80 --link web:web --name auth beevelop/nginx-basic-auth

Try accessing and logging in with username foo and password bar.

Advanced

docker run -d \
           -e HTPASSWD='foo:$apr1$odHl5EJN$KbxMfo86Qdve2FH4owePn.' \
           -e FORWARD_PORT=1337 \
           --link web:web -p 8080:80 \
           --name auth \
           beevelop/nginx-basic-auth

Use single quotes to prevent unwanted interpretation of $ signs!

Configuration

  • HTPASSWD (default: foo:$apr1$odHl5EJN$KbxMfo86Qdve2FH4owePn.): Will be written to the .htpasswd file on launch (non-persistent)
  • FORWARD_PORT (default: 80): Port of the source container that should be forwarded
  • FORWARD_HOST (default: web): Hostname of the source container that should be forwarded

    The container does not need any volumes to be mounted! Nonetheless you will find all interesting files at /etc/nginx/*.

Multiple Users

Multiple Users are possible by separating the users by newline. To pass the newlines properly you need to use Shell Quoting (like $'foo\nbar'):

docker run -d --link web:web --name auth \
           -e HTPASSWD=$'foo:$apr1$odHl5EJN$KbxMfo86Qdve2FH4owePn.\ntest:$apr1$LKkW8P4Y$P1X/r2YyaexhVL1LzZAQm.' \
           beevelop/nginx-basic-auth

results in 2 users (foo:bar and test:test).

Troubleshooting

Error: nginx: [emerg] host not found in upstream "web"

  • Ensure you link the container as web using --link foobar:web

Limitations

  • SSL/HTTPS is not currently supported
  • For SSL requirements, consider using jwilder/nginx-proxy as a central gateway with VIRTUAL_HOST environment variable

All Docker Images

Badge Pulls Build Status Release Date Release
base Docker Pulls GitHub Workflow Status GitHub Release Date GitHub release
java Docker Pulls GitHub Workflow Status GitHub Release Date GitHub release
android Docker Pulls GitHub Workflow Status GitHub Release Date GitHub release
android-nodejs Docker Pulls GitHub Workflow Status GitHub Release Date GitHub release
cordova Docker Pulls GitHub Workflow Status GitHub Release Date GitHub release
ionic Docker Pulls GitHub Workflow Status GitHub Release Date GitHub release
nginx-basic-auth Docker Pulls GitHub Workflow Status GitHub Release Date GitHub release

Beevelop's Docker Image Hierarchy

Use tags where possible, because

One does not simply use latest

About

🔐 Simple Docker image for basic authentication

Topics

Resources

License

Stars

Watchers

Forks

Contributors 5