【问题标题】:How do I access my TLS/HTTPS keys in order to start ListenAndServeTLS?如何访问我的 TLS/HTTPS 密钥以启动 ListenAndServeTLS?
【发布时间】:2016-04-27 03:59:42
【问题描述】:

我的服务器使用 Let's Encrypt 获取其 TLS 证书以通过 HTTPS 提供服务。

我选择使用标准的net/http 包而不是Apache 或nginx,所以我使用了webroot 安装方法,并将证书文件放在/etc/letsencrypt/live/mysite 中。

问题是live 目录只能由 root 用户访问。我的 golang 程序需要此目录中的证书才能通过 HTTPS 运行和提供服务。

但是由于显而易见的原因,我没有以 root 用户身份运行我的程序。

这让我想知道:我如何访问这些文件,而不必以 root 身份不安全地永久运行我的 Web 服务器?

【问题讨论】:

  • 如何为/etc/letsencrypt/live/mysite中的所有用户添加阅读权限

标签: ssl go https server lets-encrypt


【解决方案1】:

你有几个选择:

  • sudo chown -R your-user /etc/letsencrypt/live/mysite

或者

  • sudo cp -a /etc/letsencrypt/live/mysite ./ssl/ && sudo chown -R your-user ./ssl/

或者

  • 为您的应用使用容器并将您的应用和证书复制到其中,因为它将在容器内以 root 身份运行,所以没关系。

【讨论】:

  • 使用第一个选项,我仍然无法自己读取证书文件
  • @DougSmith 你应该有,你忘了传递 -R 到 chown 吗?
  • 我自己“拥有”所有证书文件,但该组仍设置为“root”。这正常吗?如果我尝试将任何文件作为所需用户进行分类,则会被拒绝。
  • @DougSmith 这很奇怪,您应该能够将他们作为用户来处理,您在运行 SELinux 吗?
  • 啊,live 只是简单链接到存档,我也必须chown 存档。
猜你喜欢
  • 2019-02-15
  • 1970-01-01
  • 1970-01-01
  • 2022-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多