我目前在本地 raspberry pi 上托管了一个网站,我的域名是通过 cloudflare 注册的。我还想在出门在外时使用 PiVPN 访问 VPS 的内容。不幸的是,CF 代理只允许通过端口 80/443 中的 Http(s) 流量,仅此而已。我可以关闭 CF dash 中的代理,但这会导致我的网站出现 https 不安全警告。
因此,我陷入了无法通过 VPN 连接到我的设备或目前连接不安全的困境。有没有办法在不使用 CF 代理的情况下获得受信任的证书?或者有其他方法可以远程访问我的服务器?
答案1
假设:
- 您的域名是 example.com
- VPN 使用 10.8.0.0/24 网络,这意味着 RPi 在此网络中使用 10.8.0.1
然后:
- 在 RPi 上安装 PiVPN
- 安装 Unbound 之类的 DNS,并将其设置为 example.com,地址为 10.8.0.1
- 确保 VPN 客户端使用 10.8.0.1 作为 DNS
- 通过 Let's Encrypt 获取 example.com 的证书。您应该使用 ACME DNS 质询,这样即使证书未公开,RPi 也可以获取该证书。
- 在 RPi 上运行的 HTTP 服务器上配置此证书
- 如果你的 HTTP 服务器没有监听 80/443 端口,如果你不想在 URL 中写端口,请更改
您应该能够访问https://example.com无需通过 CloudFlare 即可通过 VPN。
这些是主要步骤,可能还有中间步骤。