群晖NAS如何在内网部署HTTPS服务让浏览器信任证书
前言
最近在折腾内部部署Web服务。通过Vue实现一个H5的内部的管理服务。但在实际部署过程中由于种种原因,必须部署成Https服务。但在部署成Https服务后,由于没有HTTPS证书,每次进入页面都会被浏览器拦截。使用起来非常不便。于是开始各种Google折腾,终于实现了在导入证书的基础上部署HTTPS服务。接下来,和大家一起分享下整个部署过程。
前置条件
由于HTTPS证书必须和域名关联,所以我们必须有一个公网域名。具体大家就根据在各大域名运营商购买即可。
PS:公网域名仅仅是用于申请HTTPS证书。并不是说咱们的服务要部署到公网。
大致流程
- 购买公网域名。
- 在域名服务提供商申请免费的HTTPS证书。自己玩玩就没有必要买商业证书了。
- 在群晖上部署服务,通过WebStation部署。通过域名对外提供服务。
- 通过群晖的DNS将域名解析到群晖服务上。这样内网访问域名的时候才能够被解析
- 将群晖的DNS配置到路由器,作为其默认路由。实现内网域名解析。
- 将HTTPS域名证书导入到群晖证书管理中。
详细流程
域名准备
首先需要有个公网域名。如果没有,则去域名服务上购买吧。随便买一个普通的也很便宜。
因为HTTPS证书需要和域名绑定,且只能和公网域名绑定。所以公网域名是必须的。
这里咱们假设公网域名为:abc.com。后续都用这个域名讲解,方便大家理解。
HTTPS证书申请
拥有了公网域名之后。则需要到域名服务商申请相应的HTTPS证书。前面也说过了,证书就使用免费的得了。当然如果有商用证书肯定更好。因为免费证书都只有1年的有效期。过期之后需要重新申请证书,并重新导入群晖。
不同的域名服务商申请免费证书的方式不太相同,但大概都是在证书购买的位置去申请。具体大家可以根据自己不同的服务商(百度、阿里、腾讯等),自己搜索下如何免费或证书即可。
PS:在申请证书的时候,咱们需要基于咱们购买域名的子域名去申请,如果直接用二级域名申请证书,那后续域名就不能用作其他用处。所以这里我们使用子域名qunhui.abc.com去申请。
证书申请成功之后,将证书下载下来,待后续使用。
服务部署
在群晖上部署服务时,咱们有两种方式。如果是纯前端资源咱通过WebStation使用apache部署即可。如果是后端服务则需要通过tomcat等容器部署。
由于本文重点讲解HTTPS访问这一块,所以不会具体讲解如何部署。具体部署方式当家搜索下即可。
使用WebStation部署前端资源
通过WebStation部署的时候,咱们直接选择通过name对外提供服务。此处的name咱们填写二级域名qunhui.abc.com即可。
注意协议一定要开启HTTPS(至少要包含有HTTPS)。

使用Tomcat等容器部署服务
通过tomcat等容器部署都只能对外基于ip和端口提供服务。但我们需要通过域名对外提供服务。所以部署完成之后,我们需要在群晖的反向代理中进行配置。将域名映射到容器对应的端口上。具体操作如下:
图中来源的域名填写咱们的qunhui.abc.com(图中写错了,难得重新截图了)。协议一定要选择HTTPS。
目的地中的协议根据咱们后端tomcat的协议选择即可。通常都是HTTP。主机名则对应tomcat的主机名IP和端口。

在DNS配置解析
部署和域名访问都配置完成后,我们需要在群晖的DNS上配置上对应域名解析规则。即实现通过该DNS解析,当我们访问域名的时候,能解析到咱们群晖的IP地址上。具体配置如下:
PS:在配置群晖部署的DNS时,记得配置默认的DNS地址,即群晖DNS解析不了的域名就需要走该默认DNS进行解析。这个地址通常是运营商默认提供的地址(查看路由器上的配置即可),或者使用公用的DNS:114.114.114.114。
默认配置如下图:其中转发器中就是咱们路由上默认的DNS。

下图是配置qunhui.abc.com域名解析的方式。在DNS的区域中新增一个源记录做如下配置即可。其中IP就是NAS的IP。

修改路由器的DNS
咱们配置完成DNS解析后,接下来就需要解决在访问的时候网络如何找到我们群晖上部署的DNS的问题。我们只需要将路由器中的DNS修改为群晖的DNS即可。通常路由器配置界面如下。直接修改为群晖的IP地址即可。
如下图在路由的LAN设置下的DHCP服务中修改。将原来的DNS地址(已经配置到群晖DNS Server的转发中了)修改为咱们的群晖地址即可(图中的首选DNS服务器)。

HTTPS证书导入
所有都完成后,我们访问域名应该就能正常访问咱们部署的服务。但是还是会提示HTTPS证书不安全。因为咱们上面的证书还没有导入到群晖呢。接下来我们需要将商家下载的证书导入到群晖的证书管理中。
导入完成后,需要选择哪些服务需要使用咱们的新证书。因为默认还是使用群晖的自签证书。
完成之后,咱们再次访问服务将不会再提示证书问题。
如下图,选择点击新增然后,弹出框选择新增证书,然后选择导入证书会进入如下界面。
将自己上面下载的证书解压出来导入即可。其中私钥是以key结尾的文件,证书是为cert结尾的文件。中间证书可以不填。

证书导入正常之后,咱们在点击选择刚刚导入的证书,然后选择设置按钮会弹出如下界面。
在界面中的服务一列选择咱们之前的配置的业务域名(即qunhui.abc.com)。右边证书列选择咱们刚刚导入的证书即可。

到此咱们就完成了HTTPS在内网的部署。此时当你在内网访问https://qunhui.abc.com下的服务时,浏览器就会显示一把锁,标识证书有效。从此再也不会弹出证书不合法的页面了。

后续
最后咱们还需要注意如下几点:
- 免费证书只有一年有效期,一年到期后需要重新申请申请并导入。
- 咱们的域名下所有的子域名都可以通过这种方式在内网提供HTTPS服务。
- 在群晖DNS上一定要记得配置啊。。。。。
惯例
如果你喜欢本文或觉得本文对你有所帮助,欢迎一键三连支持,非常感谢。
如果你对本文有任何疑问或者高见,欢迎添加公众号lifeofcoder共同交流探讨(添加公众号可以获得楼主最新博文推送以及”Java高级架构“上10G视频和图文资料哦)。
相关文章:
群晖NAS如何在内网部署HTTPS服务让浏览器信任证书
前言 最近在折腾内部部署Web服务。通过Vue实现一个H5的内部的管理服务。但在实际部署过程中由于种种原因,必须部署成Https服务。但在部署成Https服务后,由于没有HTTPS证书,每次进入页面都会被浏览器拦截。使用起来非常不便。于是开始各种Goo…...
crAPI靶场学习记录
靶场搭建 [靶场下载地址](我fork了一份) docker安装,笔者是用的wsldocker. [lab0:**初始账户 **] 注册一个账户,邮箱为[APIqq.com],密码为Admin123 登陆后访问对应IP的8025端口,接收邮件获取车辆信息。 [lab1:**访问其它用户车…...
知识图谱实战应用28-基于py2neo的ICD-11疾病分类的知识图谱的查询与问答实战应用
大家好,我是微学AI,今天给大家介绍一下知识图谱实战应用28-基于py2neo的ICD-11疾病分类的知识图谱的查询与问答实战应用。使用基于py2neo的ICD-11疾病分类知识图谱,我们能够像探索一座生物医学宇宙般,穿梭在各种疾病之间。这个神奇的图谱可以帮助我们揭示各种疾病之间复杂而…...
20.Xaml GroupBox控件 ---->带标题的内容控件
1.运行效果 2.运行源码 a.Xaml源码 <Window x:Class="testView.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.mic…...
基于CycleGAN的山水风格画迁移
基于CycleGAN的山水风格画迁移 1、简介 1.1 研究背景及意义 绘画是人类重要的一种艺术形式,其中中国的山水画源远流长,具有丰富的美学内涵,沉淀着中国人的情思。游山玩水的大陆文化意识,以山为德、水为性的内在修为意识&#x…...
@Cacheable 注解
1. 功能说明 Cacheable 注解在方法上,表示该方法的返回结果是可以缓存的。也就是说,该方法的返回结果会放在缓存中,以便于以后使用相同的参数调用该方法时,会返回缓存中的值,而不会实际执行该方法。 注意,这…...
vue3+ts项目打包后的本地访问
注意:打包之后不可直接点击html访问,需要给项目安装本地服务! 1、安装servenpm i -g serve 2、打包项目npm run build 生成dist文件夹 3、本地访问serve dist 运行service dist之后的控制台 可复制下方的地址运行打包后的项目,运行…...
探索程序员需要掌握的算法?
文章目录 一:引言二:常见算法介绍三:重点算法总结 🎉欢迎来到数据结构学习专栏~探索程序员需要掌握的算法? ☆* o(≧▽≦)o *☆嗨~我是IT陈寒🍹✨博客主页:IT陈寒的博客🎈该系列文章…...
性能测试 —— Jmeter定时器
固定定时器 如果你需要让每个线程在请求之前按相同的指定时间停顿,那么可以使用这个定时器;需要注意的是,固定定时器的延时不会计入单个sampler的响应时间,但会计入事务控制器的时间 1、使用固定定时器位置在http请求中…...
mp4视频太大怎么压缩?几种常见压缩方法
mp4视频太大怎么压缩?科技的飞速发展使得视频成为人们生活中不可或缺的一部分。然而,随着视频质量的不断提高,视频文件的大小也与日俱增,给我们的存储和传输带来了巨大的挑战和困扰。特别是MP4格式的视频,由于其出色的…...
论文复制ChatGPT按钮被发表,撤回后再曝多个类似案例;Midjourney 生成大师级的人像
🦉 AI新闻 🚀 论文复制ChatGPT按钮被发表,撤回后再曝多个类似案例 摘要:一篇物理论文复制了ChatGPT按钮内容,经过两个月同行评审并在杂志上发表。这一现象被知名打假人发现后,发表商决定撤回该论文。此外…...
Python自动化测试 史上最全的进阶教程
Python自动化测试就是把以前人为测试转化为机器测试的一种过程。自动化测试是一种比手工测试更快获得故障反馈的方法。 随着时代的变革,也许在未来测试这个职位的需求会越来越少甚至消失,但是每一个组织,每一个客户对软件质量的要求是永远不…...
centos pip失效
在 CentOS 上安装和配置 pip3 可能需要以下步骤: 确保 Python 3 已正确安装:请确保您已经正确地安装了 Python 3。在 CentOS 上,Python 3 可能默认安装在 /usr/bin/python3 路径下。您可以通过运行以下命令来验证 Python 3 是否正确安装&…...
Java——》ThreadLocal
推荐链接: 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Kafka】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 总结——》【Linux】 总结——》【MongoD…...
如何做好利益相关方的期望管理?
利益相关方对项目而言非常重要,有效管理利益相关方的期望可以帮助项目团队更好地满足利益相关方的需求,助于建立良好的合作伙伴关系,提高项目的可持续性和成功率。 如果项目团队无法满足利益相关方的需求,可能会引发冲突、争议或其…...
【K8S系列】深入解析k8s网络插件—Canal
序言 做一件事并不难,难的是在于坚持。坚持一下也不难,难的是坚持到底。 文章标记颜色说明: 黄色:重要标题红色:用来标记结论绿色:用来标记论点蓝色:用来标记论点 在现代容器化应用程序的世界中…...
从单页面应用角度去解决不跳转页面,也能更改浏览器url地址
正常来说不刷新页面,也能更改浏览器url地址的方法有很多,我们在网上搜的话可以看到有pushState、replaceState、popstate等方法,那还有没有其他方法呢? 答案是有的! 最近做一个vue商城项目的时候,用户点击支…...
Linux:keepalived + ipvsadm
介绍 Linux:keepalived 双热备份(基础备份web)_鲍海超-GNUBHCkalitarro的博客-CSDN博客https://blog.csdn.net/w14768855/article/details/132815057?spm1001.2014.3001.5501 环境 一台 centos7 keepalived ipvsadm (主…...
Linux基础命令(示例代码 + 解释)
查看目录下文件 ls [-a -l -h] [路径] -a(全部) -l(细节) -h(大小) ls ls / ls -a ls -l ls -h ls -alh ls -l -h -a ls -lah /切换目录 cd [路径] change di…...
巨人互动|Google企业户Google“自动采纳建议”应该如何使用
在数字化时代,Google已经成为了人们获取信息的主要渠道之一。而在使用Google搜索时,你可能会发现下拉框中自动提供的搜索建议。这些搜索建议是基于用户搜索行为和相关数据进行推测,旨在使用户更快速地找到所需信息。而Google还提供了一项名为…...
React19源码系列之 事件插件系统
事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...
什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...
SQL慢可能是触发了ring buffer
简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...
关于uniapp展示PDF的解决方案
在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项: 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库: npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...
SQL Server 触发器调用存储过程实现发送 HTTP 请求
文章目录 需求分析解决第 1 步:前置条件,启用 OLE 自动化方式 1:使用 SQL 实现启用 OLE 自动化方式 2:Sql Server 2005启动OLE自动化方式 3:Sql Server 2008启动OLE自动化第 2 步:创建存储过程第 3 步:创建触发器扩展 - 如何调试?第 1 步:登录 SQL Server 2008第 2 步…...
【工具教程】多个条形码识别用条码内容对图片重命名,批量PDF条形码识别后用条码内容批量改名,使用教程及注意事项
一、条形码识别改名使用教程 打开软件并选择处理模式:打开软件后,根据要处理的文件类型,选择 “图片识别模式” 或 “PDF 识别模式”。如果是处理包含条形码的 PDF 文件,就选择 “PDF 识别模式”;若是处理图片文件&…...
Jmeter(四) - 如何在jmeter中创建网络测试计划
1.简介 如何创建基本的 测试计划来测试网站。您将创建五个用户,这些用户将请求发送到JMeter网站上的两个页面。另外,您将告诉用户两次运行测试。 因此,请求总数为(5个用户)x(2个请求)xÿ…...
比较数据迁移后MySQL数据库和PostgreSQL数据仓库中的表
设计一个MySQL数据库和PostgreSQL数据库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较两…...
python打卡第48天
知识点回顾: 随机张量的生成:torch.randn函数卷积和池化的计算公式(可以不掌握,会自动计算的)pytorch的广播机制:加法和乘法的广播机制 ps:numpy运算也有类似的广播机制,基本一致 **…...
CodeBuddy一腾讯内部已有超过 85% 的程序员正在使用de编程工具
大家好,我是程序员500佰,目前正在前往独立开发路线,我会在这里分享关于编程技术、独立开发、技术资讯以及编程感悟等内容。 如果本文能给你提供启发和帮助,还请留下你的一健三连,给我一些鼓励,谢谢。 本文直…...
