menu 犹鱼得水
search self_improvement
目录
手把手教你在群晖NAS上用自己的域名实现https访问
犹鱼得水
犹鱼得水 2022年04月03日  ·  阅读 81

本文受众主要面向广大群晖NAS用户

前言:

6064ab11eef4dd34925cc51c063f75cfb775e01e.png@831w_317h_progressive

  1. 如果你只在局域网里通过ip地址访问群晖NAS,

  2. 如果你只使用QuickConnect来访问群晖NAS,

  3. 如果你只使用群晖官方的synology.me域名来访问群晖NAS,

  4. 或者你根本不在乎,

那你就没必要费力气看这篇教程。

因为,

  1. 市面上绝大部分SSL证书都是基于域名申请的,拥有自己的域名是前提。

  2. 群晖的QuickConnect本质是通过打洞或中继连接,不需要域名,也不需要SSL证书。

  3. 群晖的synology.me域名自带证书,不需要手动添加,而且已经默认配置好了。

  4. 点进来看的都是在乎的。

af1a4c4b0c634b8dba5cc8ad87d466c3d5fe9490.jpg@942w_342h_progressive

相比于HTTP,HTTPS是具有安全性的SSL加密传输协议
网上给群晖上SSL证书的教程不在少数,但都很模糊粗略,一些重要的细节没有讲明。

在此我以我个人经历为例,供各位参考,希望能帮助到更多处在困境中的人。

此文原创,转发需经本人同意,且注明出处,能直接分享本文链接最好。

没打水印的三张图片引用自网络,侵删。

流程梗概:

A. 申请免费的SSL证书

B. 下载证书压缩包到电脑并解压

C. 在群晖DSM的Web界面上安装SSL证书

D. 测试是否成功实现https访问

具体流程:

A. 申请免费的SSL证书
  1. 首先你需要一个域名,因为我是在腾讯云上的买域名,所以我拿腾讯云举例。

  2. 进入腾讯云官网,登录后,鼠标移至页面左上角的“云产品”,在弹出的目录中选择“SSL证书”,点击进入。

f15034ed5d34b9ad1d1d51c0ad17226303574cc5.jpg@536w_1136h_progressive
3. 进入“证书管理”页面后,视线下移,点击“申请免费证书”。

9a7447b8eef27876c6ef9d0cbd2faf7a587c89d5.jpg@942w_534h_progressive

  1. 这时弹出“确认证书类型”窗口,要申请的免费证书就如图中所示,点击“确定”。

43caa8c95fb0afa526cba750513939936b990040.jpg@942w_599h_progressive

  1. 我们来到“证书申请”页面,开始输入第一项“通用名称”,也就是你的域名,如“mynas.com”,“home.mynas.com”,“home.mynas.top”,等等。但这里要注意:你在此申请的免费SSL证书是“单域名DV证书”,它仅对你输入的这一域名有效,举个例子:你输入的域名是“mynas.com”,那这个SSL证书就仅对“mynas.com”有效,对如“home.mynas.com”无效。如果你想安全访问“home.mynas.com”,那你就要重新为这个域名申请一个SSL证书。如果你有特殊需求,也可以自费购买多域名或泛域名型SSL证书,但价格非常高。

9a7447b8eef27876c6ef9d0cbd2faf7a587c89d5.jpg@942w_534h_progressive

  1. 第二项“申请邮箱”,填自己的邮箱即可,建议与腾讯云绑定的邮箱一致。

  2. 第三项“证书备注名”,这个可以随意填写,日后也可以随意更改,不必纠结。

  3. 第四项“私钥密码”建议不填,以免造成不必要的麻烦。

  4. 第五项“所属项目”,就是“默认项目”不用改动。

300bda4a4919ae0f87a74cb0e6b0f0c727e32b62.jpg@942w_965h_progressive

  1. 在上述信息填写完成后,我们来到下一步“域名身份验证”,默认是“自动DNS验证”。这里要注意:使用“自动DNS验证”的前提是你的域名必须使用腾讯云进行域名解析,也就是说你的域名使用的DNS服务器必须是腾讯云的。假设我的域名在腾讯云购买,但在阿里云进行域名解析,那我在腾讯云为这个域名申请SSL证书的时候就只能选择“手动DNS验证”。

5acf53f42da193c2bd5b7ff19de1ed8f44f1caf1.jpg@942w_368h_progressive

  1. 如果你选择的是“自动DNS验证”,那这条证书的解析记录会自动添加,请跳至第16步。

ed7613d9e403e77b1f1a394992315d84182c791b.jpg@942w_626h_progressive

  1. 如过你选择的是“手动DNS验证”,那在点击“确认申请”后,会弹出以下界面。

这个时候你就需要在现在给你域名提供DNS解析服务的提供商(比如阿里云)那里手动添加一条解析记录(如下图红框里所示)。

325b96ca0bcce99de926be9693495c7e19bb827c.jpg@942w_473h_progressive

  1. 以阿里云为例:我们来到阿里云,登录,在页面左上角搜索“云解析DNS”,然后点击下方的这一选项进入域名解析控制台。

d1f37e5a370a1341a95b66bfc88d03b751aeb71c.jpg@942w_554h_progressive

找到自己的域名,点击“解析设置”。

7c4fc254b256db03e28a459eb6b9c797c780bfbf.jpg@942w_326h_progressive

然后点击“添加记录”(粉色线表示此域名使用的DNS服务器是阿里云)。

0d861fe55bc350787e04caf7f877dc1bc0633cfb.jpg@942w_272h_progressive

  1. 点击“添加记录”后弹出以下界面,按腾讯云提供的证书信息(图8红框)填写这3个空,点击“确定”。

1b044320aa1845f9258b2804f528e6a8fa1e5401.jpg@942w_687h_progressive

  1. 返回到此界面,我们可以看到这条解析记录已经成功添加且状态正常。

c3c13afeb63c861519272935fb1f8080333e67a8.jpg@942w_314h_progressive

  1. 经过10分钟左右的等待,我们的手机上会收到腾讯云发来的短信,邮件和微信通知,告诉我们SSL证书申请已经审核通过,这证明我们已经完成了流程A的操作,下面进入流程B。

1df5b198c965890ed660d9f354783bff5f9d45f6.jpg@942w_1410h_progressive
46a9e3b53b88c9a845086fb3712d5e6cd51ced98.jpg@942w_1562h_progressive
40b4bf3690d57ea6e26cda809ef02b882dc72932.jpg@942w_2042h_progressive

B. 下载证书压缩包到电脑并解压

  1. 现在我们回到腾讯云的“证书管理”界面,点击“下载”,下载证书到本地电脑。

1a101511a8bbf751329f0625c0cff65eedf530a4.jpg@942w_704h_progressive

  1. 下载完成后,打开文件所在的文件夹,我们可以看到一个压缩包文件(.zip),文件名就是我们申请SSL证书时填写的域名,现在将此压缩包解压,可以看到四个文件夹(如下图),记住这个“Nginx”,我们给群晖NAS导入的证书和私钥就在这个文件夹里。

50d6c4a8bfe947b0a2606f23fedbf5cf787e239f.jpg@942w_180h_progressive

建议把压缩包就地解压,或者解压到桌面,方便我们在后面导入证书和私钥的时候,能快速地找到我们需要上传的文件。

d2de3d6b60483bf6472905958c5bd7969fefed1c.jpg@942w_269h_progressive

C. 在群晖DSM的Web界面上安装SSL证书

  1. 现在我们在Web上登录DSM,打开“控制面板”,选择“安全性”,点击“证书”,“新增”。

20a32931023b2e1f5ea0c7c43a035ccade4e8ab5.jpg@942w_138h_progressive

  1. 弹出“创建证书”窗口,选择“添加新证书”,点击“下一步”。

2cc10e1a5b951aa61d6b1ec7391a59ebe062537f.jpg@942w_804h_progressive

  1. 描述可以随便填,我这里填“Nginx”,选择“导入证书”,勾选“设为默认证书”,点击下一步。

b4c494df7a831ef00685ba67881418cb9658d479.jpg@942w_797h_progressive

  1. 来到“导入证书文件”界面,我们只用导入“私钥”,“证书”这两项,无视“中间证书”。

cbe60abd33f76339c1bc3b7affb958e16a8d59fc.jpg@942w_800h_progressive

  1. 点击“浏览”,找到刚才下载的证书压缩包解压后的文件夹目录。打开图19提到的那个“Nginx”文件夹,其中,证书文件名为“1_你的域名_bundle.crt”,私钥文件名为“2_你的域名.key”,选中后,点击“打开“,就导入到群晖NAS中了。注意,导入要分两次进行,一次只能导入证书或私钥。

f3ed32a677dfe0505aee7fefaad9538899337207.jpg@942w_593h_progressive-2

  1. 把证书和密钥都导入到群晖NAS上后,点击“确定”。

e3988a0097d034bd78c7ae82ac8ff0d74d8dfeba.jpg@942w_800h_progressive

  1. 现在跳回“控制面板”的”证书“界面,可以看到我们的证书已经成功添加,且被设置为“默认证书”(这里的“Nginx”是我刚才填写的证书“描述”,你填什么描述这里显示什么)。

接下来点击“配置”(这是最容易被忽视的一步,很多人就差这临门一脚)。

bbdc007078d6f052dba4845c1e7fef243f4312d0.jpg@942w_234h_progressive

  1. 弹出“配置”界面后,把所有“服务”对应的“证书”由“synology.com”全部换成你新申请的SSL证书,最后点击“确定”。

bb6110f67736d86c8833465a09c4cacc14daa94c.jpg@942w_657h_progressive
bbdc007078d6f052dba4845c1e7fef243f4312d0.jpg@942w_234h_progressive

D. 测试是否成功实现https访问

现在我们把视线移至屏幕左上角,在域名旁边我们可以查看网站信息,具体如下图所示。

以Chrome浏览器为例,当我们使用http访问时(默认端口5000),这里显示的是一个感叹号图标,提示“连接不安全”;但当我们成功导入SSL证书后用https访问时(默认端口5001),这里显示的是一把小锁,提示“连接安全”。注意,当我们使用https访问时,一定要在域名前输入“https://”,以及在域名后输入端口号“:5001”,例如“https://home.mynas.com:5001”。

2846a2d13745bd7db6541b17e39d05f8a6d9113e.jpg@596w_443h_progressive
1e30c617e3bf5a8161db1b15256479dd4b4b444e.jpg@600w_528h_progressive

如果你查看的情况是前者,那就说明你在之前的步骤上还有些问题,不妨回头再检查一下。

如果你查看的情况是后者,那就说明你已成功在群晖NAS上用自己的域名实现https访问。

6f6ce35359881b3b5e8a80838a2eeae9632b0c5f.jpg@675w_450h_progressive

恭喜!
本教程到此结束,希望对各位有所帮助。

分类: docker
标签: