群晖NAS如何在内网部署HTTPS服务让浏览器信任证书

2023-11-09

前言

最近在折腾内部部署Web服务。通过Vue实现一个H5的内部的管理服务。但在实际部署过程中由于种种原因,必须部署成Https服务。但在部署成Https服务后,由于没有HTTPS证书,每次进入页面都会被浏览器拦截。使用起来非常不便。于是开始各种Google折腾,终于实现了在导入证书的基础上部署HTTPS服务。接下来,和大家一起分享下整个部署过程。

前置条件

由于HTTPS证书必须和域名关联,所以我们必须有一个公网域名。具体大家就根据在各大域名运营商购买即可。
PS:公网域名仅仅是用于申请HTTPS证书。并不是说咱们的服务要部署到公网。

大致流程

  1. 购买公网域名。
  2. 在域名服务提供商申请免费的HTTPS证书。自己玩玩就没有必要买商业证书了。
  3. 在群晖上部署服务,通过WebStation部署。通过域名对外提供服务。
  4. 通过群晖的DNS将域名解析到群晖服务上。这样内网访问域名的时候才能够被解析
  5. 将群晖的DNS配置到路由器,作为其默认路由。实现内网域名解析。
  6. 将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下的服务时,浏览器就会显示一把锁,标识证书有效。从此再也不会弹出证书不合法的页面了。
在这里插入图片描述

后续

最后咱们还需要注意如下几点:

  1. 免费证书只有一年有效期,一年到期后需要重新申请申请并导入。
  2. 咱们的域名下所有的子域名都可以通过这种方式在内网提供HTTPS服务。
  3. 在群晖DNS上一定要记得配置啊。。。。。

惯例

如果你喜欢本文或觉得本文对你有所帮助,欢迎一键三连支持,非常感谢。
如果你对本文有任何疑问或者高见,欢迎添加公众号lifeofcoder共同交流探讨(添加公众号可以获得楼主最新博文推送以及”Java高级架构“上10G视频和图文资料哦)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

群晖NAS如何在内网部署HTTPS服务让浏览器信任证书 的相关文章

  • 将自签名 https 证书添加到 teamcity 后,TeamCity 构建代理会断开连接

    我向 Teamcity BuildServer 添加了一个自签名证书以引入 https 支持 以便现在可以通过以下地址访问它 https ServerUrl 8443 有关如何进行的更多详细信息here http tomcat apache
  • 客户端身份验证方案“匿名”禁止 HTTP 请求

    这似乎是一个常见问题 我已经查看了这里的所有答案 但没有一个有帮助 我正在尝试让 SSL 与 iis 上托管的 basichttpbinding 和 WCF 服务一起使用 我认为问题出在 iis 或证书上 我已经在 iis 管理器中创建了一
  • 如何在 Android 中创建 https 连接?

    我在 Stackoverflow 中找到了很多帖子 但无法找到适用的解决方案 如何在 Android 中创建 https 连接 代码是 HttpParams httpParameters new BasicHttpParams ConnMa
  • 如何使用 C 客户端通过 ActiveMQ 启用 SSL

    我已经配置了 ActiveMQ http activemq apache org http activemq apache org 通过以下方式使用 ssl 上下文RedHat 的 SSL TLS 教程 https access redha
  • 电子邮件安全:TLS 和 S/MIME

    我的理解是 TLS 是一种加密技术 允许两个 STMP 服务器安全地相互通信 如果使用 HTTPS 连接到 STMP 服务器 与使用 S MIME 相同吗 不会 TLS 会对通信通道进行加密 S MIME 对消息进行加密 也就是说 这就是
  • 在 Windows 上向 Apache Bench 添加 https 支持

    我的 Windows 7 计算机上有 Apache 服务器 2 2 15 并且我想在使用 https 的服务器上运行 Bench 但当我跑步时ab myopts https example com https example com I g
  • Nancyfx 通过 HTTPS 自托管

    我尝试以自托管模式启动 nancyfx 网络服务器 执行以下代码时一切正常 public static void Main string args var hostConfig new HostConfiguration UrlReserv
  • PHP客户端验证https证书

    我需要创建一个 php 来充当客户端并使用 https 下的一些 Web 服务 我的问题是我还想验证服务器证书 我需要知道我有正确的服务器并且中间没有人充当服务器 有人能帮助我吗 Thanks 如果您有curl 扩展 则可以将其配置为验证连
  • 如何从一个端口为 Jetty 提供 https 和 http 服务?

    我知道这是一个重复的问题 但原始发帖者提出这个问题的原因是错误的 我并不是暗示我问它是为了right原因 但让我们看看 我们有一个在非标准端口号上运行的 Web 服务 尽管用户似乎能够记住端口号 但有时他们会错误地输入 http 而不是 h
  • 对登录 Instagram 的 PhantomJS 代码进行故障排除

    我编写了这个 PhantomJS 脚本来自动登录 Instagram 它可以成功填写表单字段并按提交按钮 但它总是被重定向回登录屏幕并显示以下消息 你的用户名或密码不正确 我 100 确信凭据是正确的 并且我用多个 Instagram 帐户
  • “访问此资源所需的证书无效”

    XMLHttpRequest Network Error 0x800c0019 Security certificate required to access this resource is invalid 我已经找到解决方案了 首先 我
  • Node.js 中的 HTTPS 代理服务器

    我正在开发一个node js代理服务器应用程序 我希望它支持HTTP and HTTPS SSL 协议 作为服务器 我目前正在使用node http proxy https github com nodejitsu node http pr
  • 如何使用代理将 boost::asio 连接到 HTTPS 服务器?

    在我们的应用程序中 我们使用 boost asio 来使用 HTTP 和 HTTPS 进行连接 我们还可以使用 HTTP 代理 现在我需要使用代理添加对 HTTPS 服务器的支持 我研究了相当多的样本 发现所需的步骤似乎是 创建到代理的 H
  • Android:从 https url 获取响应

    问候 我正在开发一个 Android 应用程序 需要通过 https 打开一个 url 带有 POST 参数 并获取响应 我有一个自签名证书 这让情况更加复杂 我还需要接受cookies 有人知道从哪里开始吗 提前谢谢了 Android 附
  • 仅适用于安全页面的安全回形针 URL

    我正在尝试找到使回形针网址安全的最佳方法 但仅限于安全页面 例如 显示存储在 S3 中的图像的主页是http mydomain com http mydomain com图像网址是http s3 amazonaws com mydomain
  • 无对等证书例外 - Volley 和具有自签名证书的 Android

    我正在尝试让我的应用程序通过 https 与我的服务器通信 由于我不想付费让受信任的 CA 签署我的服务器证书 解决方案是使用自签名证书 因此 我创建了 caconfig cnf 如下所示 ca default ca CA default
  • 使用 https 的 Java Jersey RESTful Web 服务

    我是 Java EE 的新手 正在开发一个 RESTful API 其中每个 API 调用用户都会发送编码的凭据 我的问题是如何通过默认的 http 实现 https 协议并确保我的连接安全 我正在使用 Jersey Restful Web
  • 重复的“Access-Control-Allow-Origin: *”标头会破坏 CORS 吗?

    所以我们有一个提供 JSON 服务的 http 资源 它添加了一个 Access Control Allow Origin 旗帜 所以这可以用 CORS 加载 except 所以我被告知 有一些 IE9 怪癖 这意味着这在 IE9 中仍然不
  • 如何在 https 连接上检索 cookie?

    我试图将 cookie 保存在使用 SSL 但始终返回 NULL 的 URL 中 private Map
  • 应用程序传输安全已禁用,但仍然出现 SSL 握手错误

    我在通过 HTTPS SSL 连接到 API 时遇到问题 我已经使用下面的字典完全禁用了应用程序传输安全性 ATS 尽管 SSL 证书通过了 NSCURL 的所有测试

随机推荐

  • [138]小米笔记本怎么关闭secure boot

    关闭Secure Boot的步骤 一 关闭 快速启动 功能 1 右键 开始菜单 电源选项 进入后 点击 选择电源按钮的功能 2 进入电源选项设置后 点击 更改当前不可用的设置 再把 启用快速启动 推荐 前边的勾去掉 若没有该选择则不需要操作
  • MDK与芯片的联系

    程序执行的时候FLASH空间 code RO data 程序执行时SRAM空间 RW data ZI data 程序存储时占用空间 code RO data RW data 在目录下打开命令行窗口 按shift 鼠标右键 gt 可以将信息输
  • 区块链:Solidity值类型(Solidity 枚举Enums & 结构体Structs)

    枚举Enums 案例 pragma solidity 0 4 4 contract test enum ActionChoices GoLeft GoRight GoStraight SitStill ActionChoices choic
  • 华为OD机试 C++ 叠积木

    题目 你手里有一堆砖头 它们都有一样的宽和高 但长度不同 你想用这些砖头堆砌一堵墙 每一层墙可以只用一个砖头 也可以用两个拼接起来 但这两种情况下 每层的长度必须都是一样的 如果你想使用所有的砖头 并堆砌出尽可能多的层数 那么最多可以搭建多
  • C#(winform)调用pytorch模型

    winform调用pytorch上训练好的unet模型 项目是写一个辅助诊断系统软件 用winform写软件 调用pytorch和matlab的模型 这篇博客只包含调用pytorch模型的部分 1 c libtorch 调用模型 2 c 生
  • java使用aspose.pdf或者spire.pdf 将pdf文件转word,实测

    1 aspose pdf aspose pdf不是破解版的只能转3页 所以我弄了个破解版 aspose pdf破解版在网上都有破解方法也比较简单 这里就不说了 直接引入破解版的jar包 在这里我用的是aspose pdf 21 11 jar
  • Qt第四十五章:QComboBox 禁止滚轮

    很简单 直接反射将QComboBox的wheelEvent方法重置掉即可 self combo box QComboBox self setattr self combo box wheelEvent lambda a None
  • 车联网Apollo(阿波罗),研究carlife车机端集成及开发,(WeLink,carplay/carlife)

    Apollo 阿波罗 是携程框架部门研发的分布式配置中心 能够集中化管理应用不同环境 不同集群的配置 配置修改后能够实时推送到应用端 并且具备规范的权限 流程治理等特性 适用于微服务配置管理场景 https github com ctrip
  • C语言提取一列数据并保存

    c语言求教 txt文档只有一列数据但是有很多 需要把它提取出来 每1024个数保存在一个文件中 求大神指教 c语言
  • 什么时候需要使用引用?使用引用的好处是什么?

    作者 谢之易 链接 https www zhihu com question 34267829 answer 58414818 来源 知乎 著作权归作者所有 商业转载请联系作者获得授权 非商业转载请注明出处 记忆里 C 的设计与演化 一书提
  • 【华为机试真题 Python实现】仿 LISP 运算【2022 Q1 Q2

    题目描述 LISP 语言唯一的语法就是括号要配对 形如 OP P1 P2 括号内元素由单个空格分割 其中第一个元素 OP 为操作符 后续元素均为其参数 参数个数取决于操作符类型 注意 参数 P1 P2 也有可能是另外一个嵌套的 OP P1
  • 语音识别-初识

    ASRT https blog ailemon net 2018 08 29 asrt a chinese speech recognition system ASR Automatic Speech Recognition Paddle
  • 计算机加入域的一种方法

    重装系统后 想把机子加入域 却总是不成功 隐约记得以前老大们讲过 厚着脸皮问了 o 之后 决定记下来 省的我以后又忘了 计算机加入域 一 在网络中加入DNS地址 二 step 1 更改计算机名字 右键点击 我的电脑 打开 属性 页面 找到
  • redis-benchmark测试Redis集群性能

    基础环境配置 Redis5 三主三从cluster 1 100个并发连接 100000个请求 检测host为172 16 254 124端口为7004的redis服务器性能 redis benchmark h 172 16 254 124
  • C# 单例模式详解

    定义 单例模式是比较常见的一种设计模式 目的是保证一个类只能有一个实例 而且自行实例化并向整个系统提供这个实例 避免频繁创建对象 节约内存 单例模式的应用场景很多 比如我们电脑的操作系统的回收站就是一个很好的单例模式应用 电脑上的文件 视频
  • 2023年大唐杯仿真部分-5G信令流程仿真实验

    参考视频连接 第十届大唐杯信令流程仿真讲解 哔哩哔哩 bilibili 1 5G系统消息的获取 根据题目要求 UE开机需要获取消息 消息分别是MIB SIB1 SIB2 SIB3 上面为什么选的是SIB1 Systeminformation
  • 如何判断一个指定的经纬度点是否落在一个多边形内

    1 理论支持 如果从需要判断的点出发的一条射线与该多边形的焦点个数为奇数 则该点在此多边形内 否则该点在此多边形外 射线不能与多边形顶点相交 2 编程思路 该程序的思路是从A点出发向左做一条水平射线 平行于x轴 向X轴的反方向 判断与各边是
  • Golang实现一个事务型内存数据库

    内存数据库经我们经常用到 例如Redis 那么如何从零实现一个内存数据库呢 本文旨在介绍如何使用Golang编写一个KV内存数据库MossDB 特性 MossDB是一个纯Golang编写 可嵌入的 键值型内存数据库 包含以下特性 可持久化
  • 【spring】spring 的事务(transaction) 三 try catch对事务的影响

    文章目录 概述 1 非异常用例 1 1 创建工程 1 2 执行 2 内层抛出非check异常 外层进行捕获 3 内层抛出非check异常 外层不进行捕获 相关文章 spring 的事务 transaction 一 基础概念介绍 spring
  • 群晖NAS如何在内网部署HTTPS服务让浏览器信任证书

    前言 最近在折腾内部部署Web服务 通过Vue实现一个H5的内部的管理服务 但在实际部署过程中由于种种原因 必须部署成Https服务 但在部署成Https服务后 由于没有HTTPS证书 每次进入页面都会被浏览器拦截 使用起来非常不便 于是开