折腾步骤:
1、购买域名
2、docker安装服务实现ddns
3、安装npm实现反向代理

第一步买好之后等待审核通过,在控制台就可以看到所购买的域名了。

二、docker安装aliyun-ddns-cli服务实现ddns
首先确定自己是有公网ip的,如果没有公网ip请移步。
2.1 获取AccessKey

unraid使用阿里云域名+ddns+npm实现外网安全访问

登录阿里云域名控制台,点击右上角头像,选择AccessKey管理,安照系统提示创建AccessKey;

2.2 安装aliyun-ddns-cli
点击Docker,选择下方添加容器

unraid使用阿里云域名+ddns+npm实现外网安全访问

在容器中填入对应数据后创建应用:

unraid使用阿里云域名+ddns+npm实现外网安全访问

名称(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

unraid使用阿里云域名+ddns+npm实现外网安全访问

点击部署

unraid使用阿里云域名+ddns+npm实现外网安全访问

这边都按默认就行,点击应用,下载并部署

3.2 npm配置
完成部署后输入IP:7818进入npm设置页面

unraid使用阿里云域名+ddns+npm实现外网安全访问

默认登录名密码为admin@example.com/changeme
输入账号密码后填入个人信息并重置密码,重置后记得退出重新登录下,不然后面可能会出现问题。

unraid使用阿里云域名+ddns+npm实现外网安全访问

进入后可以看到配置界面,首先进入SSL证书设置,点击SSL certificates

unraid使用阿里云域名+ddns+npm实现外网安全访问

点击Add SSL certificates,选择Let’s Encrypt,如果有证书的也可以选择Custom导入

unraid使用阿里云域名+ddns+npm实现外网安全访问

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 二级域名
如果需要使用二级域名,需要先进入阿里云后台进行设置

unraid使用阿里云域名+ddns+npm实现外网安全访问

点击解析

unraid使用阿里云域名+ddns+npm实现外网安全访问

在这里应该可以看到之前ddns同步过来的一条记录,记录类型为A,对应了我们的公网ip;现在我们添加需要的二级域名地址;
点击添加解析

unraid使用阿里云域名+ddns+npm实现外网安全访问

类型选择CNAME
在主机记录填写你需要的二级域名内容,我是将我的qbittorrent下载器通过反代出去,所以这边填入qb,后续通过qb.xxxx.top进行浏览
记录值填入你ddns同步的域名地址
点击保存后回到npm界面

3.3.2 页面配置
点击Proxy Hosts进入主机代理设置页面;

unraid使用阿里云域名+ddns+npm实现外网安全访问

点击Add Proxy Host

unraid使用阿里云域名+ddns+npm实现外网安全访问

填入刚配置好的二级域名,并将内网对应地址及端口填入;
点击ssl,进入证书配置页面

unraid使用阿里云域名+ddns+npm实现外网安全访问

选择刚申请的证书,打开下面2个开关,点击保存

3.3.3 端口映射
由于基本上运营商会封掉80和443端口,所以我们需要将npm的端口进行映射,进入路由器页面

unraid使用阿里云域名+ddns+npm实现外网安全访问

分别将1880和18443端口进行映射。
完成后就可以通过你的二级域名加上对应映射的端口进行https的访问啦。
比如我映射的外网端口也是18443,通过 https://qb.xxx.top:18443进行访问,之后其他配置也同理,这样外网服务就只用映射一个端口,所有的服务都是通过二级域名加该端口进行访问啦。

第一次写,如有问题敬请见谅。感谢观看

最后修改:2022 年 05 月 01 日
如果觉得我的文章对你有用,请随意赞赏