前期准备

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

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个月,快到期的时候程序会自动续期(经过验证,根域名和二级域名可以很轻松的自动续期,泛域名时不时会失败而且需要DNS秘钥验证才能申请成功)

域名重定向

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

END

   

推荐文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: