从零开始搭建Nginx Proxy Manager反向代理、内网穿透、域名注册,随时随地访问家中服务

李文乐
发布于 2024-07-17 / 698 阅读
1
0

从零开始搭建Nginx Proxy Manager反向代理、内网穿透、域名注册,随时随地访问家中服务

一、容器介绍

  • Nginx Proxy Manager 就是一个 Nginx 的代理管理器,它最大的特点是简单方便。

  • 即使是没有 Nginx 基础的小伙伴,也能轻松地用它来完成反向代理的操作,而且因为自带面板,操作极其简单,非常适合配合 docker 搭建的应用使用。

  • Nginx Proxy Manager 后台还可以一键申请 SSL 证书,并且会自动续期,方便省心。

  • 公网测试:

二、容器安装

  • 数据库:(此容器可装可不装)

名称:mariadb
镜像:mariadb:latest
端口映射:(主机)3306 ——> (容器)3306|TCP
【卷】
(容器)/config ——> (主机)/mnt/docker/mariadb/config
(容器)/var/lib/mysql ——> (主机)/mnt/docker/mariadb/mysql
【环境变量】
(name)PUID ——> (主机)1000
(name)PGID ——> (主机)1001
(name)TZ ——> (主机)Asia/Shanghai
(name)MARIADB_ROOT_PASSWORD ——> (主机)abc123 # 数据库的 root 密码(默认账号:root )
【重启策略】
重启策略:除非停止

|完成|部署容器|
  • 数据库管理:(此容器可装可不装)

名称:adminer
镜像:adminer:latest
端口映射:(主机)8080 ——> (容器)8080|TCP
【环境变量】
(name)ADMINER_DEFAULT_SERVER ——> (主机)10.0.0.25:3306 # 默认数据库
【重启策略】
重启策略:除非停止

|完成|部署容器|
  • NPM:(此容器必装)

【常规】
名称:Nginx Proxy Manager
镜像:jc21/nginx-proxy-manager:latest
启动自动重新启动:勾上
【端口设置】
(主机)4344 ——> (容器)443|TCP # 反代端口# 有证书https端口
(主机)8088 ——> (容器)80|TCP # 反代端口 # 无证书http端口
(主机)81 ——> (容器)81|TCP # 登录端口 # NPM后台端口 
【存储空间设置】
(容器)/etc/letsencrypt ——> (主机)/docker/npm/letsencrypt # 视频里就是这里弄错了,我视频里填的是/letsencrypt,正确应该填写/etc/letsencrypt
(容器)/data ——> (主机)/docker/npm/data
【环境变量】
(name)DB_MYSQL_HOST ——> (主机)10.0.0.5 # 数据库地址
(name)DB_MYSQL_PORT ——> (主机)3306 # 数据库端口
(name)DB_MYSQL_USER ——> (主机)root # 数据库用户名
(name)DB_MYSQL_PASSWORD ——> (主机)liwenle # 数据库密码
(name)DB_MYSQL_NAME ——> (主机)npm # 数据库名称
# (name)DISABLE_IPV6 ——> (主机)true # (可填可不填)开启IPv6,如果没有IPv6可以不用填写,
【功能】
默认即可

|完成|部署容器|

三、配置

  • 登陆后台管理界面

    • 打开浏览器输入:IP:81 登陆到后台管理界面

    • 默认登录用户名:admin@example.com

    • 默认登录密码:changeme

    • 首次登录之后需设置新的登录用户名及密码
      图片
      图片

  • 设置路由器端口转发
    图片

四、购买域名解析

Cloudflare地址:
域名购买地址:

  • 切记要点域名管理界面的蓝色球形图标,点进去之后要把自带的域名解析记录删除干净,切记切记,视频有讲

  • 在Cloudflare的网站添加自己购买的域名,额外服务选择免费的0美金的,将分配好的Cloudflare名称服务器替换到域名购买的网站上,当Cloudflare的网站弹出:好消息!Cloudflare正在保护您的站点,这就说明域名成功托管到了Cloudflare了

  • 别忘了讲Cloudflare的邮箱验证下

  • 添加解析记录

    • 类型选择:A(IPv4就是A,IPv6就是AAAA)

    • 名称填写:*(这个代表泛解析,意思就是前面可以自定义二级域名)

    • IPv4地址可以随意填写一个IP地址,因为当DDNS设置好后,这里会自动更新成自己的公网IP地址

    • 代理状态:打开

  • 设置路由器的动态域名解析,也就是俗称的DDNS
    图片
    图片

  • 获取Cloudflare API Key

    • 登录Cloudflare

    • 右上角头像,选择我的个人资料

    • 选择API令牌

    • 全局API密钥后面的查看

    • 输入Cloudflare的登录密码,就可以弹出来Cloudflare API Key

    • 当更新结果显示成功,就说明DDNS设置成功了,回到Cloudflare就可以看到前面解析记录随便设置的IPv4地址自动变更成了公网IPv4地址了

四、Nginx Proxy Manager 配置

  • 添加域名及证书

    • 选择SSL证书 ——> 添加SSL证书 ——> 让我们加密吧

    • 域名填写泛域名 ——> 使用DNS挑战打开 ——> DNS服务商选择Cloudflare ——> API token获取,来到Cloudflare页面 ——> 右上角头像选择我的个人资料 ——> API令牌 ——> 创建令牌 ——> 区域资源选择域名 ——> 继续显示摘要 ——> 创建令牌 ——> 点Copy复制生成的令牌 ——> 回到Nginx Proxy Manager进行粘贴

    • 打开我同意的开关,点存储,等待半分钟左右即可自动添加完成

五、Nginx Proxy Manager 代理主机详细配置

  • Joplin

    • 详情:计划:HTTP|转发主机名/IP:Joplin的登录IP|前进端口:22300|websockets支持:打开

    • SSL:强制SSL:打开|HTTP/2支持:打开

    • 高级:自定义Nginx配置: location / { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_pass http://10.0.0.6:22300/; }

  • 爱快

    • 详情:计划:HTTP|转发主机名/IP:爱快的登录IP|前进端口:80|websockets支持:打开

    • SSL:强制SSL:打开|HTTP/2支持:打开

  • PVE

    • 详情:计划:HTTPS|转发主机名/IP:爱快的登录IP|前进端口:8006|websockets支持:打开

    • SSL:强制SSL:打开|HTTP/2支持:打开


评论