准备工作:
- 良好的心态,充足的时间。:stuck_out_tongue:
- 注册购买域名(这里的步骤不再赘述,自行百度。)
- 对自己的设备和系统有一定了解
- 有基本的docker和Linux知识。(不会就照抄)
- 出问题先学会百度,谷歌~
- 总体流程
教程开始:
简单来说,在步骤A里做好*解析,在步骤B里做好ddns-go的@解析,在步骤D里做好路由器上4443的映射,然后就没他们啥事了。以后添加任何反代都是在步骤C,也就是npm的web界面里添加设置反代就行了。多个反代可以用同一个泛域名证书,不需要重复申请,到期之前续一下证书就可以了
[task]为了示范更清楚 ,下面所有教程,假设我的一级域名是123456.xyz[/task]
A.域名上的设置
- 阿里云为例,阿里云域名解析设置
- 泛域名需要添加*这个记录,记录类型选CNAME,注意别选错选项
[task]获取key和key secert,后面需要这个[/task]
– 获取解析需要的钥匙
– 使用子账户较为安全
– 创建用户
– 创建页面
– 会有个安全验证,自己验证一下就行了
– 验证完成后就有key和secert了,记得点右边的复制保存好,或者下载CSV文件保存
– 成功页面
[warning]重点是ID和secert,在步骤B和C都要用到[/warning]
B.动态域名解析(固定ip可跳过此步骤)
- ps:此教程为群友家宽环境而写的教程,家宽一般获取到的都是动态公网ip。如何获取也请移步百度。
- docker安装(根据自己设备平台参考)
docker run -d \
--name ddns \
--restart=always \
--net=host \
-v /mnt/18A/docker/ddns:/root \
jeessy/ddns-go
- 上面是我自己用的指令,可以参考着改,也可以去dockerhub上看具体教程 ddns-go
-
安装后打开10.0.0.10:9876。
这个10.0.0.10记得改成自己装npm设备的内网ip
把上面保存的ID和secert都粘贴进去
[buy]有公网V4的,就在V4那勾选。添加@.xxxxxx.xyz。V6同理。[/buy]
[buy]上面假设了我的域名是123456.xyz,那这里添加的是@.123456.xyz,记得点save。[/buy]
[buy]到这一步你会发现A里面域名的解析设置里多了两条@的解析,步骤A没让添加是因为这一步里添加就完事了。[/buy]
C.NPM的安装和设置反代
复制命令粘贴
docker run -d \
--name NPM \
--restart=always \
-e UID=1000 \
-e GID=1000 \
-v /mnt/18A/docker/NPM:/config \
-p 8181:8181 -p 1880:8080 -p4443:4443 \
jlesage/nginx-proxy-manager:latest
同样上面是我自己用的指令,可以参考着改,也可以去dockerhub上看具体教程 链接直达npm
– 访问用8181端口访问,第一个8181可改,改成啥就用啥去访问。对技术没把握的话所有端口都不建议改,先抄完作业再去改作业。
– 安装后打开10.0.0.10:8181。这个10.0.0.10记得改成自己装npm设备的内网ip。
– 初始默认邮箱:[email protected]
初始默认密码:changeme
进去后会让你自己设置新的邮箱和密码
生成证书:
- *.123456.xyz ps:123456.xyz千万记得把123456.xyz改为自己的域名
开始生成证书,对魔法没要求,失败的话多试试,生成需要时间 - 添加需要反代的网址
- ps:假如我要用em.123456.xyz,反代我内网的emby,内网emby的访问地址是http://10.0.0.10:8096,
那上面第一个填写em.123456.xyz,
下一行三个分别写
http,10.0.0.10,8096 - 这个123456.xyz,10.0.0.10记得改为自己的啊
-
记得别保存,再点击上面的SSL,因为还需要设置证书
[buy]设置好后点save。
NPM设置完成[/buy]
-
注意到期时间,到期之前点击renew now更新证书就行了
[buy]需要反代多个容器什么的比如qb,tr就在NPM的Dashboard里proxy hosts里add proxy host添加多个,注意二级域名不能一样。可以用同一个泛域名证书,不需要重复申请
内网的其他ip也可以反代,不是只能反代装npm的ip[/buy]
D.最后一步
在路由器里设置端口映射
-
走https也就是反代的设置如下
家宽应该是封了443端口的,可以用其他不冲突的端口,映射到装npm设备的内网ip,内部端口为4443(上面docker装NPM的时候如果把4443端口改了,这里记得跟着改,没改端口的忽视这句话) -
比如外网17000(可任意改用不冲突的)映射到10.0.0.10的4443端口,外网访问用https://em.123456.xyz:17000
来访问上一步示范的emby -
在这里还有一个小技巧,再把外网443也映射给npm的4443,在内网即可直接用NPM设置里的二级域名访问,不需要加端口(也就是https://em.123456.xyz直接访问示范的emby)
- 教程结束
随时修正教程,折腾有风险,入坑需谨慎。本人对教程导致的所有不良后果免责,请知悉。仅供学习交流参考。
有不完善的欢迎随时补充,不懂的可以加群问。群里大佬卧虎藏龙。
QQ群:945980097
本文来源群友共同努力探讨原创!转载请注意礼节。
文章有(2)条网友点评
6666666666 {{doge}} 刺激佬真棒!
呆佬、刺激佬好棒?