这是一个大问题,所以我只是在寻找一个高级概述答案来帮助我研究我不知道的部分。
本质上,问题是这样的:我需要一台专用的 Mac Mini(或类似的 macOS 机器)并用它来托管一个只有同一本地网络上的用户才能访问的网站。
我的第一反应是购买一个域名(和证书)并将其指向我知道我的服务器所在的本地地址(例如 10.10.10.152)。这样,任何尝试访问该域的人都将被本地重定向到我的网站(如果他们位于正确的网络上)。
这行得通吗?如果是这样,获取域、安装证书并将其指向本地 IP 的主要步骤是什么?
可以,但是绝对没有必要买任何东西。
您可以为例如service.example.org(如果您拥有example.org)或service.lan设置本地 DNS ,而无需您自己的域。将 A 记录指向您的私人 Web 服务器。
如果您需要 HTTPS (TLS),您可以自签名证书并明确信任每个客户端的该证书,或者启动一个新 CA(使用 OpenSSL 只需一分钟),为 service.lan 签署证书并将 CA 根证书作为信任锚部署到您的客户端。
根据评论讨论,您可以使用例如 Apache 并设置类似:使用模块
mod_authz_host
和Require
指令。(上面我假设你的本地网络是
192.168.0.0/24
)此配置将限制对
localhost/127.0.0.1
网络中所有主机的访问192.168.0.0/24
我不确定注册/配置域并购买证书的想法是偶然还是故意的 - 但在缺乏网络配置和系统管理经验的情况下,这可能是实现您目标的最短路径。
替代方法是
您将需要一个包含记录的注册域才能从第三方证书颁发机构获取证书。如果您选择其他方法之一,那么您不需要注册域/可公开访问的 DNS 记录 - 您可以(例如)使用 dnsmasq 作为您的内部 DNS(轻松配置特定 DNS 名称的覆盖)。
只要您的互联网连接不允许外部访问主机的 IP 地址,您就不需要额外的安全控制,但现在添加它们可能会防止将来发生事故。