微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

docker反向代理-如何在htpasswd中使用授权

如何解决docker反向代理-如何在htpasswd中使用授权

我想通过基本身份验证支持保护我的反向代理服务器。根据[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文件复制的内容。我知道.htpasswdhtpasswd间的区别,但不了解此处应使用哪种格式和名称

代理服务器无需检查授权即可连接服务(在我的情况下为基本模式)(密码未存储在浏览器中!)。

要使Nginx进行检查授权,必须进行哪些更改? [1]:https://github.com/nginx-proxy/nginx-proxy#readme

解决方法

我认为您已经理解htpasswd是一个文件夹,并且相应的htpasswd文件的名称必须与您的虚拟主机名匹配:

您必须在/ etc / nginx / htpasswd / $ VIRTUAL_HOST目录中创建一个名为VIRTUAL_HOST变量的文件

这意味着:

  • 您将文件夹安装到Docker容器的/ etc / nginx / htpasswd中
  • 在此文件夹中,根据您的虚拟主机地址创建一个passwd文件,例如example.de:
  • 您可以使用以下命令创建相应的文件: htpasswd -c example.de username

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。