本帖最后由 geniusliang 于 2026-7-8 20:25 编辑
论坛看到有些朋友需要内网设置https。
我自己也有这个需求主要是用在vaultwaden上。也不想暴露到外网访问。只要内网用。还有一些需要网页端使用麦克风的语音项目。比如HA的
首先实现有很多方法。lucky我用过,可能我比较笨。没有搞定。
我这里用的是我自己觉得比较方便简单的
需要两个软件
Caddy (做反代)
Adguradhome (做DNS重定向。你不想装自己改host也行。但是我觉得Adguradhome比较方便)
1. 创建Caddyfile文件,输入你要做内网https访问的内网地址
example
我这里做了两个homeintercom.local 和 vaultwarden.local 这两个都是.local域名。计算机自己会知道。不需要你去买免费的域名。格式是xxxxx.local. 前面随便你写
192.168.1.125:8764 和 192.168.1.125:8102是我内网需要https访问的地址
homeintercom.local {
# 启用 Caddy 内部自签名证书
tls internal
# 反向代理到内网目标服务
reverse_proxy 192.168.1.125:8764
}
vaultwarden.local {
tls internal
reverse_proxy 192.168.1.125:8102
}
2. 部署Caddy
部署方法相当多,参考官网https://caddyserver.com/docs/install 。我觉得docker最简单。
这里是官方的compose文件,大家自己按需修改
services:
caddy:
image: caddy:<version>
restart: unless-stopped
ports:
- "80:80"
- "443:443"
- "443:443/udp"
volumes:
- ./conf:/etc/caddy
- ./site:/srv
- caddy_data:/data
- caddy_config:/config
volumes:
caddy_data:
caddy_config:
把创建好的Caddyfile文件放入./conf:/etc/caddy对应的文件夹即可,然后启动container
这里有个问题。一般家里的80/443端口已经被占用。至少我的飞牛是这样
所以你可以改一下端口。比如我改成
- "81:80"
- "446:443"
- "446:443/udp"
等你所有的都部署好后,你要用https://xxxxx.local:446 来访问了
3. 部署Adguardhome
方法也是相当多。看你自己选最方便的方法就好了。
我是飞牛直接安装的。然后在过滤器-→DNS重写中添加 想要代理的local域名
按图输入域名和内网IP地址
至此,你其实已经可以使用内网https了,但是网页图标会显示不安全
如果你不介意。可以忽略他。如果介意,就继续往下看
4. 找到caddy 中的/data/caddy/pki/authorities/local 中的root.crt
导入并信任:将该 .crt 文件复制到您的电脑或手机中。
Windows:双击文件 -> 安装证书 -> 本地计算机 -> 选择“将所有的证书都放入下列存储” -> 浏览并选择 “受信任的根证书颁发机构” -> 完成安装。
macOS:双击导入“钥匙串访问” -> 找到该证书 -> 双击打开 -> 展开“信任”选项 -> 将“使用此证书时”改为 “始终信任”。
重启浏览器:导入完成后,重启浏览器并刷新页面,警告即可消失。
最后说一个我碰到的坑。我弄完后电脑访问没有问题。手机端死活不行,固定IP啥的。最后发现在一加colorOS中设置了域名1为Adguardhome的地址,但其实并没有走adguard解析
最后解决的方案是用chrome浏览器>设置>隐私和安全>使用安全DNS 把他关闭就行了。
搞了半天,问AI问了半天饶了半天圈子都没搞定。胸闷
欢迎大家交流一下有没有其他简单方便的内网https访问方案
|