在github文档中找不到任何内容,也在SO上找不到。但我想知道是否有一个名为http://foo.github.com
的私有存储库foo
,只有一个可以访问foo
存储库本身。{/ p>
我记得曾经读过一些关于github页面总是公开的内容,但似乎无法再找到它了。
令人惊讶的是,我似乎无法找到其他人提出这个问题。
答案 0 :(得分:189)
我已经针对Github提出了一张支持票,并得到了回复,确认所有页面都是公开的。我现在要求他们在help.github.com/pages上添加一个注释。
答案 1 :(得分:56)
所有项目存储库都准备好使用生成器进行发布。 但请注意,私人存储库将发布公开的网页。
所以不,此时无法从私有GitHub存储库创建私有GitHub页面。
修改强>
某些情况可能有用的解决方法是简单地将repo重命名为GitHub页面格式之外的其他内容,而您希望它是私有的(例如在开发阶段)以及何时准备公开然后更正名称。显然,如果您正在寻找一种方法来发布具有身份验证的页面,这仍然无济于事,但如果您只想隐藏GH页面项目,这可能有所帮助。
或者,有一个名为Jekyll Auth的项目,GitHubber @benbalter用于此类用途。 Jekyll Auth为jekyll项目提供了一个基本的身份验证包装器,包括GitHub页面。 See the repo's README可供使用。
答案 2 :(得分:13)
page.github.com确实提到了:
Github Pages免费托管,并通过我们的网站轻松发布,
没有提及访问控制。
GitHub page help也未提及任何ACL 最好使用gh-pages branch管理它们,并且可以在their own submodule中进行管理 但同样,GitHub发布的可见度没有任何限制。
答案 3 :(得分:10)
有一篇文章介绍了如何在动态加载静态内容之前请求oAuth授权:
Securing Site That Runs on Github Pages With JSON Backend In Private Repository
内容应存储在一个秘密的GitHub存储库中,其中一个查看器具有对它的读访问权。 GitHub页面只存储服务的JS代码。
答案 4 :(得分:9)
如上所述,Github页面不支持该功能。当我们的团队决定在内部和私下托管项目文档(静态HTML)时,我遇到了同样的问题。
我最终创建了一个服务https://www.privatehub.cloud它基本上是一个带有Github OAuth身份验证的简单代理服务器,因此它只返回具有正确MIME类型的GitHub存储库内容。根据设计,只有有权访问foo
的人才能在foo
看到https://bar-foo.privatehub.cloud
内容。从功能的角度来看,您可以将其视为具有内置身份验证的简化GitHub页面。
不幸的是,Github OAuth不允许read-only
访问私有存储库,因此服务器需要完全访问权限(显然,它不会向您的存储库写入任何内容)。由于GitHub API仅允许检索1 Mb以下的文件,因此该服务无法返回较大的文件。然而,我发现该服务非常适合用于内部文档的小型项目或网站的暂存版本。
答案 5 :(得分:7)
答案 6 :(得分:2)
目前无法做到这一点。
但是,在官方GitHub public roadmap中,我们看到这将最终在 2020年第四季度为企业云客户实施。
预期结果
如果组织要建立Intranet站点或发布内部文档,则私有页面将允许组织将内容保留为其组织私有。
答案 7 :(得分:2)
一月。 2021 年:GitHub Enterprise 现在可以实现(因此:github.com 还没有)。
见:
GitHub Pages 现在为您提供限制访问的选项,使站点仅对有权访问发布页面的存储库的用户可见。
通过访问控制,您可以使用 GitHub Pages 在整个企业内发布和共享内部文档和知识。
作为此版本的一部分,我们将引入以下功能:
此功能现已在 GitHub Enterprise Cloud 上正式发布。
要在 Pages 上启用访问控制,请导航到您的存储库设置,然后点击下拉菜单以在您网站的公开可见性和私有可见性之间切换。
答案 8 :(得分:1)
如果你在私人仓库上按下admin并向下滚动到关于页面的部分,它会写道它将是公开的。我稍后会检查.htaccess控制或类似情况是否可行,但我对它没有多大希望。
答案 9 :(得分:1)
答案 10 :(得分:0)
您可以使用GitLab。您可以定义私人项目,所有设施都像Github。
答案 11 :(得分:0)
这个 GitHub 应用程序:https://github.com/apps/priv-page 允许用户为他们的私有仓库创建私有页面。
答案 12 :(得分:-2)
您可以在存储库中托管密码,然后只隐藏隐藏地址后面的页面,该页面源自该密码。这不是一种非常安全的方式,但很简单。