折腾步骤:
1、购买域名
2、docker安装服务实现ddns
3、安装npm实现反向代理
第一步买好之后等待审核通过,在控制台就可以看到所购买的域名了。
二、docker安装aliyun-ddns-cli服务实现ddns
首先确定自己是有公网ip的,如果没有公网ip请移步。
2.1 获取AccessKey
登录阿里云域名控制台,点击右上角头像,选择AccessKey管理,安照系统提示创建AccessKey;
2.2 安装aliyun-ddns-cli
点击Docker,选择下方添加容器
在容器中填入对应数据后创建应用:
名称(NAME): DDNS //应用名称
存储库(Repository): chenhw2/aliyun-ddns-cli //镜像地址
Variable: AKID //阿里云ID:将刚获得的AccessKey ID填入
Variable: AKSCT //阿里云KEY:将刚获得的AccessKey Secret填入
Variable: DOMAIN //阿里云域名:之前购买的域名,也就是你想将公网IP推给哪个域名
Variable: REDO //刷新间隔:无特殊要求写600就行
点击应用等待下载部署完成就可以了。
点击查看日志,看是否解析成功,如果不成功请检查AccessKey是否正确。
三、安装npm实现反向代理
其实完成前序步骤已经能通过路由器映射端口进行外网访问了,但是直接映射出去都是http的服务,并且还要记一堆端口,着实不是特别方便。所以有需求的可以继续往下看。
3.1 安装NginxProxyManager
在unraid应用市场搜索NginxProxyManager
点击部署
这边都按默认就行,点击应用,下载并部署
3.2 npm配置
完成部署后输入IP:7818进入npm设置页面
默认登录名密码为admin@example.com/changeme
输入账号密码后填入个人信息并重置密码,重置后记得退出重新登录下,不然后面可能会出现问题。
进入后可以看到配置界面,首先进入SSL证书设置,点击SSL certificates
点击Add SSL certificates,选择Let’s Encrypt,如果有证书的也可以选择Custom导入
Domain Names中填入.xxxx.top,就是.你购买的域名,这样申请的为范域名证书,二级域名才可以使用
打开use a dns challenge 然后选择对应dns供应商,这里选择aliyun,并在dns_aliyun_access_key和dns_aliyun_access_key_secret中填入阿里云的accesskey信息,点击同意并保存。
之后就会进行免费证书申请,等待申请成功后进入下一步;
3.3 反向代理设置
3.3.1 二级域名
如果需要使用二级域名,需要先进入阿里云后台进行设置
点击解析
在这里应该可以看到之前ddns同步过来的一条记录,记录类型为A,对应了我们的公网ip;现在我们添加需要的二级域名地址;
点击添加解析
类型选择CNAME
在主机记录填写你需要的二级域名内容,我是将我的qbittorrent下载器通过反代出去,所以这边填入qb,后续通过qb.xxxx.top进行浏览
记录值填入你ddns同步的域名地址
点击保存后回到npm界面
3.3.2 页面配置
点击Proxy Hosts进入主机代理设置页面;
点击Add Proxy Host
填入刚配置好的二级域名,并将内网对应地址及端口填入;
点击ssl,进入证书配置页面
选择刚申请的证书,打开下面2个开关,点击保存
3.3.3 端口映射
由于基本上运营商会封掉80和443端口,所以我们需要将npm的端口进行映射,进入路由器页面
分别将1880和18443端口进行映射。
完成后就可以通过你的二级域名加上对应映射的端口进行https的访问啦。
比如我映射的外网端口也是18443,通过 https://qb.xxx.top:18443进行访问,之后其他配置也同理,这样外网服务就只用映射一个端口,所有的服务都是通过二级域名加该端口进行访问啦。
第一次写,如有问题敬请见谅。感谢观看