AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 773440
Accepted
jarvis
jarvis
Asked: 2016-04-28 16:07:45 +0800 CST2016-04-28 16:07:45 +0800 CST 2016-04-28 16:07:45 +0800 CST

让我们加密 SSL 证书文件未找到错误,但仍然有效

  • 772

我正在运行Let's Encrypt 的SSL 证书。我已经将它们安装在运行 Apache 的 Ubuntu 机器上。设置工作正常,我可以启动网站,查看绿色挂锁,甚至在 SSL Labs 上获得 A+。

问题是当我执行apachectl configtest时,服务器会返回一个文件未找到错误:

SSLCertificateFile: file '/etc/letsencrypt/live/www.example.com/fullchain.pem' not exist or is empty.

但sudo service apache2 restart工作得很好。

我在Let's Encrypt Community遇到了这个问题,但问题尚未解决。

sudo cat /etc/letsencrypt/live/www.example.com/fullchain.pem有效,返回有效的证书详细信息。

sudo x509 -text -noout -in /etc/letsencrypt/live/www.example.com/fullchain.pem

不起作用并返回以下错误:

Error opening Certificate /etc/letsencrypt/live/www.example.com/fullchain.pem
139774254929568:error:02001002:system library:fopen:No such file or directory:bss_file.c:398:fopen('/etc/letsencrypt/live/www.example.com/fullchain.pem.','r')
139774254929568:error:2007402:BIO routines:FILE_CTRL:system lib:bss_file.c:400:
ubable to load certificate

关于为什么我在apachectl configtest和openssl上出现错误的任何想法?

多谢你们!

ssl ssl-certificate apache-2.4 lets-encrypt
  • 5 5 个回答
  • 19549 Views

5 个回答

  • Voted
  1. mrtnmgs
    2017-12-09T09:00:42+08:002017-12-09T09:00:42+08:00

    在我的情况下,文件和权限不是问题。我试图重新启动服务器apachectl restart或测试配置(apachectl -t或apachectl configtest)。运行命令的用户(我)根本没有访问证书的适当权限。我只需要在命令前面加上前缀就sudo可以以 root 身份运行它们!没有更多错误,配置测试返回“语法 OK”,我可以重新启动服务器。(好吧,我有点尴尬,我花了这么长时间才弄明白……)

    • 15
  2. Best Answer
    jarvis
    2016-04-30T09:00:30+08:002016-04-30T09:00:30+08:00

    经过几个不眠之夜,我终于开始工作了。(矫枉过正的声明)我们都知道这是权限,但究竟在哪里需要检查。

    我继续使用/ect/letsencrypt/live以及其下的目录和文件。我不断将权限从原始更改为 0755 和 0777。我没有立即看到的是/etc/letsencrypt/live 是从 /etc/letsencrypt/archive 创建的链接,并且它具有0700权限。这就是它无法读取文件的原因。将/etc/letsencrypt/archive的权限更改为0755后,apachectl configtest已经响应Syntax OK.

    虽然最初的问题已经解决,但我将把它重新提交给Let's Encrypt,因为这都是证书的自动安装。这样的事情不应该发生在“自动”中。但是我的设置可能与权限问题有关,因为我使用非 root 用户安装它(但我做了 sudo)。

    希望这可以帮助某人。

    • 7
  3. camslice
    2020-04-26T07:04:28+08:002020-04-26T07:04:28+08:00

    同意timeSmith 的回答,即这些文件和文件夹的权限是故意严格的,应该保留为0700.

    您需要运行service httpd或apachectl命令,sudo以便这些进程具有 root 权限并获得对letsencrypt 证书文件夹和文件的读取权限。

    • 4
  4. semtex41
    2017-04-29T13:53:53+08:002017-04-29T13:53:53+08:00

    正如Ian Terle最初评论的那样,更改“live”目录的权限现在可以解决问题:

    sudo chmod -R 0755 /etc/letsencrypt/live
    

    注意:我观察到与 OP 相同的错误。

    这得到了证实:
    Ubuntu 16.04.2 LTS
    Apache/2.4.18 (Ubuntu)

    • 2
  5. timeSmith
    2017-08-11T09:25:03+08:002017-08-11T09:25:03+08:00

    证书文件的权限最好保持非常严格。要允许适当的进程访问证书文件:使用以下命令启动 apache。

    sudo service httpd start
    

    交替使用以下命令正常重启:

    sudo service httpd graceful
    
    • 2

相关问题

  • 如何使用 Tomcat 5.5 更新 SSL 证书

  • 为 IIS6 自行生成 SSL 证书?

  • plesk 上的域和子域 ssl 访问

  • 如何设置 SSL 邮件服务器?

  • 如何通过 SVN 命令行接受 SSL 证书?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve