【傻呱呱】nginx反向代理 | 可视化操作 | 一键申请SSL证书 | 自动续期 | Nginx Proxy Manager

前期准备


安装docker程序


创建 “Nginx Proxy Manager” 容器

  • 可以使用以下两种方法创建
    1、手动拉取(导入)镜像,再创建容器(可视化docker面板推荐这种
    2、使用 “docker-compose.yml” 文件创建

  • 下面演示第2种方法
    1、在电脑上新建一个文本文档并重命名为 “docker-compose.yml” ,注意要把 “.txt”后缀删除
    2、复制粘贴下面代码

    version: '3.8' #表示使用的是Docker Compose文件格式的3.8版本
    services:
      app:
        image: 'jc21/nginx-proxy-manager:latest'
        restart: unless-stopped
        network_mode: host  
        volumes:
          - ./data:/data
          - ./letsencrypt:/etc/letsencrypt
    

    3、将 “docker-compose.yml” 放到docker容器目录(任意位置,能在安装docker程序的机器上找到就行)
    4、打开终端,使用cd命令导航到存储“docker-compose.yml”文件的目录
    5、执行下面命令创建容器

    docker-compose up -d
    

登录 “Nginx Proxy Manager” 面板

  • docker程序所在的机器的防火墙放行 “81”、“80”、“443” 端口
  • 浏览器输入地址:http://127.0.0.1:81 (注:127.0.0.1替换为docker程序所在的机器的IP地址
  • 默认账号:admin@example.com
  • 默认密码:changeme

请添加图片描述


无法访问面板?

检查端口占用情况

  • 检查是否有服务已经占用了 “80” 和 “443” 端口注意是在安装了docker程序的机器上运行命令
    1、 在Linux系统上

    sudo netstat -tulpn | grep :80
    
    sudo netstat -tulpn | grep :443
    

    2、 在Windows系统上

    netstat -an | find "80"
    
    netstat -an | find "443"
    

    3、 在Mac系统上

    sudo lsof -i :80
    
    sudo lsof -i :443
    
  • 如果结果没有任何返回,则说明端口没有被占用,进一步说明不是端口被占用的原因导致无法访问,那可能是上一步创建容器出了问题

  • 如果返回了像下面这样的结果,说明端口被占用,具体被哪个程序占用,可以在每一行的最后的字段找到,像下面这个就是被进程ID为 “797” ,程序名称为 “nps” 的程序占用

请添加图片描述

解决方法

  • 如果不是端口占用的原因导致的无法访问,请仔细检查之前创建容器的步骤是否有疏漏
    可以运行下面的命令检查容器是否在正常运行,

    docker-compose ps
    

    下面这样就是正常运行状态

请添加图片描述

  • 如果端口被占用的原因导致的无法访问,将占用端口的程序更换端口即可
    比如我的 “80” 和 “443” 端口是被 “nps” 这个程序占用的,我需要修改 “nps” 程序的配置文件改为其他端口,也就是说需要把 “80” 和 “443” 这两个端口给 “Nginx Proxy Manager” 用,“nps” 程序使用其他端口,修改完端口记得重启系统

请添加图片描述


修改账号信息

  • 登录后会自动跳出修改名称和邮箱界面(注意登录账号是邮箱不是名称,用名称是无法登录的),修改完点 “save” 保存

请添加图片描述

  • 然后会自动跳出修改密码界面,修改完点 “save” 保存

请添加图片描述


添加反代服务

  • 主要作用是可以隐藏端口访问部署在服务器上的服务(只需要输入域名就可以跳转到相应的服务),增加服务器的安全性,灵活性和可维护性

请添加图片描述


请添加图片描述


请添加图片描述

  • 注意事项
    每一个域名都需要DNS解析到对应的IP地址
     
     

验证是否反代成功

  • 点击反代服务的域名,正常情况会跳转到目标服务

请添加图片描述

  • 可以看到成功跳转到了我部署的Alist网盘

请添加图片描述

  • 如果跳转失败,请检查域名、IP地址、端口等信息是否填写错误
     
     

SSL证书自动续期

  • 进入证书管理界面
    可以看到这里已经有了一些证书,这些证书就是刚才添加反代服务的时候顺便申请并添加的,不需要再手动申请证书,证书有效期3个月,快到期的时候程序会自动续期(经过验证,只支持根域名,二级域名的自动续期,不支持泛域名

请添加图片描述


域名重定向

  • 主要作用是用 “域名A” 访问 “域名B”的服务

请添加图片描述


请添加图片描述


END
   

相关文章

文章浏览阅读3.7k次,点赞2次,收藏5次。Nginx学习笔记一、N...
文章浏览阅读1.7w次,点赞14次,收藏61次。我们在使用容器的...
文章浏览阅读1.4k次。当用户在访问网站的过程中遇到404错误时...
文章浏览阅读2.7k次。docker 和 docker-compose 部署 nginx+...
文章浏览阅读1.3k次。5:再次启动nginx,可以正常启动,可以...
文章浏览阅读3.1w次,点赞105次,收藏182次。高性能:Nginx ...