相关推荐recommended
【Linux | Docker】内网穿透实现远程访问Nginx Proxy Manager
作者:mmseoamin日期:2023-12-11

文章目录

    • 前言
    • 1. docker 一键安装
    • 2. 本地访问
    • 3. Linux 安装cpolar
    • 4. 配置公网访问地址
    • 5. 公网远程访问
    • 6. 固定公网地址

      前言

      Nginx Proxy Manager 是一个开源的反向代理工具,不需要了解太多 Nginx 或 Letsencrypt 的相关知识,即可快速将你的服务暴露到外部环境,并且支持 SSL 配置。基于 Tabler 的美观且安全的管理界面,无需了解 Nginx 即可轻松创建转发域、重定向、流和 404 主机。

      下面介绍在Linux 安装Nginx Proxy Manager并且结合 cpolar内网穿透工具实现远程访问管理界面,同等,当我们使用Nginx Proxy Manager配置其他本地服务,并且需要远程访问,也是同样的方式。

      1. docker 一键安装

      输入命令,docker 一键启动:

      docker run -d -p 80:80 -p 81:81 -p 443:443 --restart=always -v ~/data:/data -v ~/letsencrypt:/etc/letsencrypt jc21/nginx-proxy-manager:latest
      

      运行后,输入docker ps 即可看到运行的容器,命令挂载了三个端口,80 和 443 端口是访问服务的端口,81 端口是Nginx Proxy Manager管理页面端口。

      【Linux | Docker】内网穿透实现远程访问Nginx Proxy Manager,image-20230921162309814,第1张

      2. 本地访问

      上面服务搭建好后,首先访问81端口的管理界面,可以看到Nginx Proxy Manager的登录界面,输入默认账号: admin@example.com和默认密码:changeme即可登陆,这边是Linux 内部浏览器访问,如局域网ip访问,需检查防火墙是否关闭,本地访问无误后,下面安装cpolar 内网穿透工具

      【Linux | Docker】内网穿透实现远程访问Nginx Proxy Manager,image-20230921162757297,第2张

      3. Linux 安装cpolar

      上面我们在Linux 部署了Nginx Proxy Manager,下面我们在Linux安装cpolar内网穿透工具,通过cpolar 转发本地端口映射的http公网地址,我们可以很容易实现远程访问,而无需自己注册域名购买云服务器。下面是安装cpolar步骤

      cpolar官网地址: https://www.cpolar.com

      • 使用一键脚本安装命令
        curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
        
        • 向系统添加服务
          sudo systemctl enable cpolar
          
          • 启动cpolar服务
            sudo systemctl start cpolar
            

            cpolar安装成功后,在外部浏览器上访问Linux 的9200端口即:【http://局域网ip:9200】,使用cpolar账号登录,登录后即可看到cpolar web 配置界面,结下来在web 管理界面配置即可

            【Linux | Docker】内网穿透实现远程访问Nginx Proxy Manager,image-20230831171159175,第3张

            4. 配置公网访问地址

            这里利用Nginx Proxy Manager 内部nginx 代理转发机制,结合cpolar 的公网地址,实现转发本地81端口的Nginx Proxy Manager web 管理界面服务可以远程访问

            点击左侧仪表盘的隧道管理——创建隧道,创建一个Nginx Proxy Manager的cpolar 公网地址隧道。

            • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
            • 协议:选择http
            • 本地地址:81 (本地服务的端口)
            • 域名类型:免费选择随机域名
            • 地区:选择China vip

              点击创建

              【Linux | Docker】内网穿透实现远程访问Nginx Proxy Manager,image-20230922094132401,第4张

              隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https,然后复制cpolar生成的公网地址,前面的http://协议名称不用复制

              【Linux | Docker】内网穿透实现远程访问Nginx Proxy Manager,image-20230922094356574,第5张

              打开Nginx Proxy Manager管理界面登录进去后,点击Add Proxy Host,

              【Linux | Docker】内网穿透实现远程访问Nginx Proxy Manager,image-20230922094704517,第6张

              将cpolar 域名 输入Domain Names中,下面输入本地服务的端口和本机ip,这里演示的是配置Nginx Proxy Manager web 管理界面,如果是其他服务,可以将端口换成其他服务端口,输入完成点击保存

              【Linux | Docker】内网穿透实现远程访问Nginx Proxy Manager,image-20230922110000814,第7张

              5. 公网远程访问

              上面添加完成后,可以在管理界面列表看到一个添加的记录,且是Online在线状态

              【Linux | Docker】内网穿透实现远程访问Nginx Proxy Manager,image-20230922110104945,第8张

              这个时候使用cpolar公网地址即可在任意设备浏览器访问Nginx Proxy Manager管理界面。这里使用的是http访问,https还需单独配置,具体可以参考官方文档

              【Linux | Docker】内网穿透实现远程访问Nginx Proxy Manager,image-20230922110140408,第9张

              6. 固定公网地址

              由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化【ps:cpolar.cn已备案】

              注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

              登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

              【Linux | Docker】内网穿透实现远程访问Nginx Proxy Manager,image-20230922110808777,第10张

              保留成功后复制保留成功的二级子域名的名称

              【Linux | Docker】内网穿透实现远程访问Nginx Proxy Manager,image-20230922110830276,第11张

              返回登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

              【Linux | Docker】内网穿透实现远程访问Nginx Proxy Manager,image-20230922111555921,第12张

              修改隧道信息,将保留成功的二级子域名配置到隧道中

              • 域名类型:选择二级子域名
              • Sub Domain:填写保留成功的二级子域名

                点击更新(注意,点击一次更新即可,不需要重复提交)

                【Linux | Docker】内网穿透实现远程访问Nginx Proxy Manager,image-20230922111639750,第13张

                更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名名称的域名,我们把固定的域名配置到Nginx 管理界面那边

                【Linux | Docker】内网穿透实现远程访问Nginx Proxy Manager,image-20230922111731631,第14张

                编辑我们上面添加的记录,

                【Linux | Docker】内网穿透实现远程访问Nginx Proxy Manager,image-20230922111944936,第15张

                然后我们把cpolar随机地址改为固定地址,点击保存

                【Linux | Docker】内网穿透实现远程访问Nginx Proxy Manager,image-20230922112054909,第16张

                保存后可以看到列表的地址变成了固定的公网地址

                【Linux | Docker】内网穿透实现远程访问Nginx Proxy Manager,image-20230922112137633,第17张

                使用cpolar公网地址,在任意浏览器打开,即可访问到我们本地服务

                【Linux | Docker】内网穿透实现远程访问Nginx Proxy Manager,image-20230922112310346,第18张