【保姆教程】教大家在NAS上免费安装SSL证书并实现安全的外网访问
xsobi 2024-12-04 16:34 1 浏览
本内容来源于@什么值得买APP,观点仅代表作者本人 |作者:Stark-C
在上节教程之中,我为大家详细的介绍了威联通myQNAPcloud远程访问服务:
不得不说,威联通myQNAPcloud远程访问服务确实给力,为所有没有公网IP的用户提供了一个最方便,并且快速的外网访问方案。
但是对于威联通的SSL证书,我必须见一次吐槽一次:它虽说提供了两种SSL证书的申请方式,但是国内能用的要花钱(myQNAPcloud SSL Certificate),不花钱的国内又不能用(Let’s Encrypt)。
你说你自己的花钱也就算了,但是免费的Let’s Encrypt你为啥就不能国内使用?而同样使用Let’s Encrypt的SSL证书的华硕NAS,就可以直接使用,并且还提供自动续期服务!
所以对于威联通而言,我们就不得不另辟蹊径,来为它搭建SSL证书了!今天的教程就交大家怎么不花一分钱,也能为威联通NAS安装SSL证书!
装备简介
今天出场的还是我个人的主力NAS—威联通 TS-464C。作为威联通当前的旗舰级4盘位旗舰NAS,有4个3.5英寸盘位和2个NVMe SSD盘位,处理器采用Intel 赛扬N5095,比上代J4125处理器性能提升30%左右,显卡性能提升至300%,支持Intel OpenVINO AI引擎,AI识别性能提升41.7%。
接口方面我个人认为最大的亮点就是支持双2.5G网口拓展+HDMI2.0视频输出,双2.5G网口除了实现链路聚合功能以外,还可以在搭建软路由的时候实现一进一出的主路由功能。而HDMI2.0可以让我们在NAS上实现视频直通,不管是我们玩虚拟机,还是搭建家庭影音中心HTPC,都是非常实用的配置功能!
NAS安装SSL证书的必要性
可能有很多小伙伴还没搞清楚NAS上为什么需要安装SSL证书,所以这里做一个简单的说明。
SSL证书其实就是一种互联网使用的数字证书,通俗来说,它就是我们在上网的时候使用的HTTPS访问协议,而SSL证书就是这个协议中的身份认证,它包含了有关证书持有者的姓名、证书序列号和到期日期、证书持有者的公钥副本以及证书颁发机构的数字签名等信息。
而什么又是HTTPS访问协议?它其实就是在我们HTTP访问的基础上通过传输加密和身份验证保证了传输过程的安全性,而完成这个加密和身份验证工作的,就是我们今天所说的SSL证书。
简单来说,我们通过SSL证书来达到HTTPS访问的安全协议,这个协议相当于给我们需要访问的网站或者服务器(我们NAS便是其中之一)提供了身份验证与加密通讯,可以有效的避免不法人员的远程攻击,使访问更加的安全!
上图便是我们没有安装SSL证书的时候,我们使用HTTPS协议远程访问家里的威联通NAS的时候,域名前面会有“不安全”的提醒!
对了,顺便回复上篇文章评论区一位值友的疑问。如果你使用威联通自带myQNAPcloud的SmartURL链接远程访问NAS是完全不用安装SSL证书的哦!因为它是自带SSL证书的,我们用它给的SmartURL链接访问前面就会自动加上安全小锁,说明我们可以安心使用。
正文部分
在开始安装之前,你需要准备一个自己的域名。域名可以在阿里云或者腾讯云花钱购买,最便宜的一年也就几块钱,随便没就可以,那个便宜买那个。
第一步,申请域名
直接按我文中的方法申请一个免费的域名即可。
我这里就以免费的为例,假设大家已经申请到自己免费的eu.org域名。
第二步,申请SSL证书
接下来我们就需要将我们的免费域名解析通过域名解析平台解析DNS,国内最常用的两个域名解析平台就是阿里云和腾讯云,并且都是免费。我这里就以腾讯云为例来为大家演示!
先打开腾讯云DNSPOD官网平台,登录自己的账号(没有账号的可以直接用实名认证的微信扫码快速注册),然后点击右上角的【管理控制台】。
腾讯云DNSPOD官网平台:https://www.dnspod.cn/
在弹出的页面选择“DNS解析”。
然后点击“添加域名”,将我们申请的免费eu.org域名添加上去。
然后点击我们刚刚添加的免费域名后面的“SSL”标识。
点击“申请免费证书”。
证书类型选择“免费版”,确定。
在申请页面:
- 证书绑定域名:填写我们这个免费域名
- 申请邮箱:自己的真实邮箱(最好是腾讯云这边认证时候的邮箱)
其它的保持默认,然后点击“提交申请”按钮。
然后就是提交申请成功之后的提示。说是一个工作日完成审核,但是小伙伴们不要慌,它其实也就一分钟左右就下发证书了,并且还会短信通知我们!这里顺便为企鹅的高效率点个赞!
当我们收到证书审核通过的信息以后,回到DNSPOD管理控制台,点击左侧的“SSL证书”,在“我的SSL证书”下面就能看到签发过来的证书了(请忽视我之前申请过的证书数量)。
在我们操作的这个域名后面有个“下载”按钮,点击它!
类型选择“Nginx”,然后点击后面的“下载”按钮。
下载到本地其实是一个压缩包,我们直接解压就能得到4个文件,其中用到的其实就是上图中两个后缀分别为“.key”和”.crt”的文件。
至此,我们的SSL证书就已经成功申请。
第三步,更换NAS证书
接下来回到威联通后台去进行证书的更换。
进入威联通【控制台→系统→安全→SSL证书和秘钥】,点击“取代当前证书”。
默认“导入证书”,下一步。
在导入证书这里:
- 证书:选择第二步文件夹后缀为pem的文件
- 私人密钥:选择第二步文件夹后缀为key的文件
完成之后点击“应用”。
回到威联通SSL证书和秘钥这里,可以看出证书的状态已变成我们刚刚导入的证书。至此,我们更换NAS证书也成功了!
第四步,创建对应域名的DDNS 服务
虽说我们证书已经安装好了,但是这个证书对应的是我们自己申请的这个域名的证书,而NAS上使用的还是威联通的域名,所以我们还需要关闭威联通的域名服务,并添加自己的域名来实现外网访问。
那么怎么实现使用自己的域名就能访问家里的NAS呢?这个时候我们就需要一款Docker应用神器『DDNS-GO』了!
因为我在之前的文章中详细的讲解了Docker容器『DDNS-GO』的安装方法,这里就不在赘述了,还不知道的新手可以直接过去抄作业。
在NAS上Docker安装好『DDNS-GO』容器之后,先不用打开。继续回到腾讯云dnspod控制台页面,点击控制台右上角的头像,选择“API密钥”。
在“API密钥”页面,选择“DNSPod Token→创建密钥”,密钥名称随意,确定。
在弹出的密钥页面,将ID和Token复制保存下来(直接保存在计算机的文本文档即可),然后勾选温馨提示,点击“我已保存”。
接着打开『DDNS-GO』容器后台页面。打开方式为:NAS局域网IP+冒号+9876。在DNS服务商那里选择Dnspod腾讯云,在ID和Token中粘贴上步操作中获取到的ID和Token值。
接着在IPv4下面的“Domains”后面的方框填入前面自己申请SSL的那个域名,其它的保持默认即可,最后点击左上角的“Save”保存。
我看很多小伙伴在这步还添加了域名解析A记录,事实上可以不用这个操作,只需要在『DDNS-GO』那里操作完成之后,Dnspod这边就自动添加好记录了。
第五步,路由器开启端口转发
我们先打开威联通后台页面,打开【控制台—系统—系统管理】,勾选“使用安全连接(HTTPS)”,记下访问端口号(这里建议大家更改下默认的端口号),完成后点“应用”。
这里仅以华硕路由器为例,接着打开路由器后台,在“外部网络(WAN)”设置里,找到“端口转发”,添加一个TCP通信协议。外部端口就是NAS的HTTPS访问端口,本地IP地址就是NAS的局域网IP地址。完成之后点“确认”。
搞定之后确认没问题就可以退出路由器后台了。“开启端口转发”的按钮开关记得要打开!
使用效果
最后打开浏览器,输入:域名+冒号+端口号,就可以直接访问我们的NAS了(外网也是一样),并且可以看到,域名前面已经挂上了安全小锁,说明我们的SSL证书也是没有问题的!
至此,本文教程全部结束!
总结
虽说今天的教程中我使用的NAS是威联通,但是本文的方案同样适用于其它的NAS。也就是说,我们还可以使用我文中教大家申请的eu.org域名为群晖,华硕等传统NAS来安装SSL证书,并且效果一样,同样免费!
好了,以上就是今天给大家分享的内容,我是爱分享的Stark-C,如果今天的内容对你有帮助请记得收藏,顺便点点关注,我会经常给大家分享各类有意思的软件和免费干货!谢谢大家~
相关推荐
- js向对象中添加元素(对象,数组) js对象里面添加元素
-
一、添加一个元素对象名["属性名"]=值(值:可以是一个值,可以是一个对象,也可以是一个数组)这样添加进去的元素,就是一个值或对象或数组...
- JS小技巧,如何去重对象数组?(一)
-
大家好,关于数组对象去重的业务场景,想必大家都遇到过类似的需求吧,这对这样的需求你是怎么做的呢。下面我就先和大家分享下如果是基于对象的1个属性是怎么去重实现的。方法一:使用.filter()和....
- 「C/C++」之数组、vector对象和array对象的比较
-
数组学习过C语言的,对数组应该都不会陌生,于是这里就不再对数组进行展开介绍。模板类vector模板类vector类似于string,也是一种动态数组。能够在运行阶段设置vector对象的长度,可以在末...
- 如何用sessionStorage保存对象和数组
-
背景:在工作中,我将[{},{}]对象数组形式,存储到sessionStorage,然后ta变成了我看不懂的形式,然后我想取之用之,发现不可能了~记录这次深刻的教训。$clickCouponIndex...
- JavaScript Array 对象 javascript的array对象
-
Array对象Array对象用于在变量中存储多个值:varcars=["Saab","Volvo","BMW"];第一个数组元素的索引值为0,第二个索引值为1,以此类推。更多有...
- JavaScript中的数组Array(对象) js array数组
-
1:数组Array:-数组也是一个对象-数组也是用来存储数据的-和object不同,数组中可以存储一组有序的数据,-数组中存储的数据我们称其为元素(element)-数组中的每一个元素都有一...
- 数组和对象方法&数组去重 数组去重的5种方法前端
-
列举一下JavaScript数组和对象有哪些原生方法?数组:arr.concat(arr1,arr2,arrn);--合并两个或多个数组。此方法不会修改原有数组,而是返回一个新数组...
- C++ 类如何定义对象数组?初始化数组?linux C++第43讲
-
对象数组学过C语言的读者对数组的概念应该很熟悉了。数组的元素可以是int类型的变量,例如int...
- ElasticSearch第六篇:复合数据类型-数组,对象
-
在ElasticSearch中,使用JSON结构来存储数据,一个Key/Value对是JSON的一个字段,而Value可以是基础数据类型,也可以是数组,文档(也叫对象),或文档数组,因此,每个JSON...
- 第58条:区分数组对象和类数组对象
-
示例设想有两个不同类的API。第一个是位向量:有序的位集合varbits=newBitVector;bits.enable(4);bits.enable([1,3,8,17]);b...
- 八皇后问题解法(Common Lisp实现)
-
如何才能在一张国际象棋的棋盘上摆上八个皇后而不致使她们互相威胁呢?这个著名的问题可以方便地通过一种树搜索方法来解决。首先,我们需要写一个函数来判断棋盘上的两个皇后是否互相威协。在国际象棋中,皇后可以沿...
- visual lisp修改颜色的模板函数 怎么更改visual studio的配色
-
(defunBF-yansemokuai(tuyuanyanse/ss)...
- 用中望CAD加载LISP程序技巧 中望cad2015怎么加载燕秀
-
1、首先请加载lisp程序,加载方法如下:在菜单栏选择工具——加载应用程序——添加,选择lisp程序然后加载,然后选择添加到启动组。2、然后是添加自定义栏以及图标,方法如下(以...
- 图的深度优先搜索和广度优先搜索(Common Lisp实现)
-
为了便于描述,本文中的图指的是下图所示的无向图。搜索指:搜索从S到F的一条路径。若存在,则以表的形式返回路径;若不存在,则返回nil。...
- 两个有助于理解Common Lisp宏的例子
-
在Lisp中,函数和数据具有相同的形式。这是Lisp语言的一个重大特色。一个Lisp函数可以分析另一个Lisp函数;甚至可以和另一个Lisp函数组成一个整体,并加以利用。Lisp的宏,是实现上述特色的...
- 一周热门
- 最近发表
- 标签列表
-
- grid 设置 (58)
- 移位运算 (48)
- not specified (45)
- patch补丁 (31)
- strcat (25)
- 导航栏 (58)
- context xml (46)
- scroll (43)
- element style (30)
- dedecms模版 (53)
- vs打不开 (29)
- nmap (30)
- webgl开发 (24)
- parse (24)
- c 视频教程下载 (33)
- android 开发环境 (24)
- paddleocr (28)
- listview排序 (33)
- firebug 使用 (31)
- transactionmanager (30)
- characterencodingfilter (33)
- getmonth (34)
- commandtimeout (30)
- hibernate教程 (31)
- label换行 (33)