【问题标题】:Is it possible to get an SSL certificate for a portforwarding VPN service?是否可以获得用于端口转发 VPN 服务的 SSL 证书?
【发布时间】:2021-05-23 08:26:32
【问题描述】:

在我的示例中,我使用了https://portmap.io VPN 服务,它不完全是纯粹的 VPN 服务,但仍然使用 VPN 技术来打破我的 ISP 限制,允许端口转发到在我的 Android 设备中运行的我自己的家庭服务器。

所以如果我运行 193.161.193.99:1200,我的网站就会被浏览。端口 1200 映射到我在端口 1000 上运行的本地 python 服务器端口。端口 1200 由 VPN 提供商提供。

但是,如果我尝试不使用端口 1200 的 193.161.193.99。端口映射 VPN 官方网站被调用,因为那是网站的 IP。所以基本上这个 VPN 服务的每个用户都有自己的端口可以使用。

问题:我没有任何完全由我自己控制的公共 IP 来获得 SSL 证书,这需要 CA (CSR) 的文件上传验证。那么,是否有可能使用 193.161.193.99:1200 获得 SSL 证书?

注意:zerossl.com 等服务接受为 ipv4 公共地址提供证书。因此,使用 FQDN 获取证书并不总是必不可少的。

【问题讨论】:

    标签: ssl-certificate vpn portforwarding


    【解决方案1】:

    是的,这是可能的,您需要一个指向 VPN/portmap IP 的域,然后从 Let's Encrypt 获取该域的 SLL 证书。这可以是您自己的域,也可以是动态 DNS 服务提供的域,例如 Duck DNS。

    我将详细描述我是如何使用 Docker 和 Duck DNS 完成的:

    1. 登录 Duck DNS,创建一个子域并将其指向 VPN/portmap IP,记下页面顶部的令牌。
    2. 从 LinuxServer.io 的 SWAG Image 部署一个 docker 容器
    3. 确保在 docker-compose.yml(或使用 docker run 命令)中提供所需的环境变量:
    - VALIDATION=duckdns
    - DUCKDNSTOKEN={your token}
    - URL={yourdomain}.duckdns.org
    

    注意:如果您想要 VPN 后面的所有内容,有一个很棒的 docker 容器,名为 gluetun,它允许您在 VPN 后面运行 swag 容器

    1. 您将在 SWAG 容器的 /config/etc/letsencrypt/live/{yourdomain}.duckdns.org 文件夹中找到您的 SSL 证书。将这些用于在您的转发端口后面运行的网站/服务。

    证书将在到期前 30 天自动更新。还有一个 PKCS#12 文件 privkey.pfx,这是 emby 等服务所必需的。有关 SWAG 的更多信息,请参阅LinuxServer.io Docs。您可能需要也可能不需要另一个运行定期更新 Duck DNS IP 的容器,我不确定 SWAG 容器是否已经这样做了。

    所有这些当然可以在没有 Docker 和您自己的域的情况下完成。在这种情况下,您需要将您的域或子域映射到域提供商的 DNS 记录部分中的 VPN IP。然后使用certbot 为该域创建证书。 Docker 只是自动化了更新部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-05
      • 2019-03-14
      • 2021-03-01
      • 1970-01-01
      • 2019-02-14
      • 2018-12-05
      • 1970-01-01
      • 2016-01-01
      相关资源
      最近更新 更多