2016-04-27 100 views
2

我的服务器使用让我们加密以获取其TLS证书通过HTTPS提供服务。如何访问我的TLS/HTTPS密钥才能启动ListenAndServeTLS?

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

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

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

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

+3

怎么样添加读权限的所有用户'的/ etc/letsencrypt /现场/ mysite' –

回答

2

您有几种选择:

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

或者

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

或者

  • 为您的应用程序使用容器并将您的应用程序和证书复制到该应用程序,并且由于它将作为根在容器中运行,所以它无关紧要。
+0

随着第一选择,我仍然无法读取证书文件本身 –

+0

@DougSmith你应该有,你有没有忘记将-R传递给chown? – OneOfOne

+0

我自己“拥有”所有证书文件,但该组仍然设置为“root”。这是正常的吗?如果我试图捕获任何文件作为所需的用户,我会获得权限被拒绝。 –