我在私有 IP 上运行了私有 Gitlab 实例。我想托管一个包含 Gitlab 页面的网站,该网站仅在我的网络内可见,外部无法访问。此外,我需要我的私有 Gitlab 实例不是可从外部访问。
Gitlab pages仅当满足以下前提条件时才可使用:
Have an exclusive root domain for serving GitLab Pages. Note that you cannot use a subdomain of your GitLab’s instance domain.
Configure a wildcard DNS record.
(Optional) Have a wildcard certificate for that domain if you decide to serve Pages under HTTPS.
(Optional but recommended) Enable Shared runners so that your users don’t have to bring their own.
(Only for custom domains) Have a secondary IP.
我想通过这种方式进行配置,但只有当我的 Gitlab 实例不向公众开放并且我的网站可以托管在我的网络内时,它才对我有用。
这可能吗?或者这会向公众开放我的服务器吗?
提前致谢,非常感激。
答案1
如果您对 Gitlab 实例使用私有 IPv4 地址,则它将在 Internet 上不可见。
例如:192.168.1.125
但是,您可以设置您的互联网路由器(或任何用于该目的的设备)以允许外部访问,因此您应该确保它不会被意外设置。
然后,您必须照顾网络内的域和名称解析,但如果不详细了解基础设施,您就无法对此发表任何评论。
示例域名为 gitlab.local
然后,您需要网络中的 DNS 服务器,通常 Internet 路由器也具有同样的功能,但有时在这里不够灵活。
当然你也可以在网上预订域名,并输入192.168.1.125作为A-Record,但必须确保域名提供商允许输入私有IPv4地址。
答案2
如果您有一个 rfc1918 地址(例如 192.168.。) DNS 中没有任何内容能够使其从更广泛的互联网直接访问。
在公共域上使用 A 记录可能会暴露您正在运行服务器,并向外部方提供有关您的网络的提示,但它不会提供允许访问它的机制。
您将无法对您的域使用 ACME 挑战(即 letsencrypt),因此您可能需要从提供基于邮件的身份验证的提供商处购买一个或构建您自己的 CA 并进行自我签名。
在您的公共域上放置“A”记录的另一种方法是修改您的本地名称服务器以在您的 LAN 中注入对域的支持或修改每台计算机的主机文件。