我想通过基本身份验证支持保护我的反向代理服务器。根据[read-me] [1],我已将 -v /path/to/htpasswd:/etc/nginx/htpasswd
添加到我的docker-compose文件中:
version: '2'
services:
frontproxy:
image: traskit/nginx-proxy
container_name: frontproxy
labels:
- "com.github.jrcs.letsencrypt_nginx_proxy_companion.docker_gen"
restart: always
environment:
DEFAULT_HOST: default.vhost
HSTS: "off"
ports:
- "80:80"
- "443:443"
volumes:
- /home/frank/Data/htpasswd:/etc/nginx/htpasswd
- /var/run/docker.sock:/tmp/docker.sock:ro
- "certs-volume:/etc/nginx/certs:ro"
- "/etc/nginx/vhost.d"
- "/usr/share/nginx/html"
nginx-letsencrypt-companion:
restart: always
image: jrcs/letsencrypt-nginx-proxy-companion
volumes:
- "certs-volume:/etc/nginx/certs"
- "/var/run/docker.sock:/var/run/docker.sock:ro"
volumes_from:
- "frontproxy"
volumes:
certs-volume:
htpasswd
文件包含我从工作的Nginx服务器的.htpasswd
文件复制的内容。我知道.htpasswd
和htpasswd
之间的区别,但不了解此处应使用哪种格式和名称。
代理服务器无需检查授权即可连接服务(在我的情况下为基本模式)(密码未存储在浏览器中!)。
要使nginx进行检查授权,必须进行哪些更改? [1]:https://github.com/nginx-proxy/nginx-proxy#readme
答案 0 :(得分:0)
我认为您已经理解htpasswd是一个文件夹,并且相应的htpasswd文件的名称必须与您的虚拟主机名匹配:
您必须在/ etc / nginx / htpasswd / $ VIRTUAL_HOST目录中创建一个名为VIRTUAL_HOST变量的文件
这意味着:
htpasswd -c example.de username