前期准备

docker程序

Nginx Proxy Manager :  镜像包   镜像网址

安装docker程序

安装docker   官方文档

安装docker-compose   官方文档

创建 “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

1

2

3

4

5

6

7

8

9

3、将 “docker-compose.yml” 放到docker容器目录(任意位置,能在安装docker程序的机器上找到就行)

4、打开终端,使用cd命令导航到存储“docker-compose.yml”文件的目录

5、执行下面命令创建容器


docker-compose up -d

1

登录 “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

1

sudo netstat -tulpn | grep :443

1

2、 在Windows系统上


netstat -an | find "80"

1

netstat -an | find "443"

1

3、 在Mac系统上


sudo lsof -i :80

1

sudo lsof -i :443

1

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


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




解决方法

如果不是端口占用的原因导致的无法访问,请仔细检查之前创建容器的步骤是否有疏漏

可以运行下面的命令检查容器是否在正常运行,


docker-compose ps

1

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




如果是端口被占用的原因导致的无法访问,将占用端口的程序更换端口即可

比如我的 “80” 和 “443” 端口是被 “nps” 这个程序占用的,我需要修改 “nps” 程序的配置文件改为其他端口,也就是说需要把 “80” 和 “443” 这两个端口给 “Nginx Proxy Manager” 用,“nps” 程序使用其他端口,修改完端口记得重启系统



修改账号信息

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



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



添加反代服务

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





注意事项

每一个域名都需要DNS解析到对应的IP地址

 

 

验证是否反代成功

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



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



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

 

 

SSL证书自动续期

进入证书管理界面

可以看到这里已经有了一些证书,这些证书就是刚才添加反代服务的时候顺便申请并添加的,不需要再手动申请证书,证书有效期3个月,快到期的时候程序会自动续期(经过验证,根域名和二级域名可以很轻松的自动续期,泛域名时不时会失败而且需要DNS秘钥验证才能申请成功)



域名重定向

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




END

————————————————


                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

                        

原文链接:https://blog.csdn.net/qq_29064203/article/details/135982564


标签: none

添加新评论