logo NodeSeekbeta

保护你的小鸡! VPS 安全探讨分享

  • 收藏了,感謝

  • 还是小白安逸 无视安全

  • 绑定 好贴

  • @李七夜 #130

    查看NPM日志或者进入NPM容器内部对docker容器进行访问,应该会有如下提示:

    connect() failed (111: Connection refused) while connecting to upstream
    

    参照@shuai大佬给出的第二方案

    @shuai #13 发布于2023/9/21 21:31:13,编辑于2023/9/21 21:48:58
    @Hantong #11
    两种方案:
    第一:

    echo '{"iptables": false}' | sudo tee /etc/docker/daemon.json
    sudo systemctl restart docker
    

    看得懂吧,在docker的daemon.json配置文件里加"iptables": false,让它无法控制防火墙
    缺点:有些容器无法连接网络

    第二:
    自己创建一个bridge桥接网络,命名为net(随意),设置ip段和网关:

    docker network create --driver=bridge --subnet=172.25.0.0/16 --gateway=172.25.0.1 net
    
    

    然后部署一个容器时加上环境变量:

    docker run --net=net --ip=172.25.0.5 -d your_image
    

    来固定它的ip,不然多容器一重启就乱了,导致反向代理失效或乱窜。
    缺点:麻烦

    我是胡说八道,楼下正解

    新建一个桥接网络,部署的docker容器都使用这个网络。
    也可以不重新部署NPM,使用下面办法:

    • 停止并删除需要NPM反代的docker容器
      查看NPM使用的桥接网络(默认是nginx_proxy_manager_default)

    • docker network ls
      
    • 创建新的docker容器时,设置容器使用NPM的桥接网络(--network)

    • docker run --network=nginx_proxy_manager_default -d container
      
    • 在NPM页面添加反向代理,直接使用docker容器的名称和端口(不是宿主机的端口)

    如图所示

  • 感谢分享

  • 好贴绑定

  • Mark一下,谢谢分享!!

  • 马克一下,鸡腿送上

  • 鸡腿奉上

  • #10 危言耸听了

    I'm not an expert on iptables but I know that if you run the container with -p 127.0.0.1:123:123 then the port won't be exposed on all interfaces, just on the loopback.

    Ref: https://stackoverflow.com/a/30805111/1841143

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有72280位seeker

🎉欢迎新用户🎉