跳转到主要内容
你行网

Main navigation

  • 首页
  • Drupal
  • 编程与开发
  • 数据库
  • 操作系统与应用
  • 服务器与运维
  • 社区
User account menu
  • 登录

面包屑

  1. 首页

Drupal站点更新安装cacert.pem证书和openssl

由 hrs, 8 二月, 2023

从版本 9.1.0 开始,Drupal 核心的更新管理器使用 HTTPS 获取有关可用更新的信息。这意味着Drupal站点使用的PHP必须安装并正确配置OpenSSL。如果 PHP 不支持 OpenSSL,则启用了更新管理器的站点将在其可用更新报告中看到“无法获取可用更新数据”错误消息。

available-updates.png

如果您看到此错误,可以采取几个步骤来使事情正常工作:

 

  • 确认网站可以连接到互联网
  • 确认已启用 OpenSSL
  • 确认站点的证书文件已正确安装和配置
  • 如果需要,请将更新管理器配置为回退到 HTTP

 

确认网站可以连接到互联网

在担心OpenSSL和HTTPS之前,第一步是确保网站可以到达公共互联网。考虑:

  • 这是在本地服务器上运行的测试站点,还是在根本没有互联网连接的容器内运行的测试站点?

  • 站点是否位于网络代理服务器后面?如果是这样,网络和站点是否正确配置为使用该代理?

 

该站点必须能够访问公共互联网,否则这些说明中的其余部分都无济于事。


确认已启用 OpenSSL

首先,检查站点的PHP是否启用了OpenSSL:

管理>报告>状态

点击PHP版本(/admin/reports/status/php)下的“更多信息”链接

应该有一个名为“openssl”的部分,您应该看到类似以下内容:

OpenSSL support: enabled

如果没有,您必须查阅 PHP openssl 扩展文档,了解如何在配置文件中启用此扩展。基本上,您需要取消注释或添加如下行:并可能重新启动您的Web服务器守护程序(例如Apache)。详细信息将因托管环境而异。如果您不确定,请咨询您的系统管理员或托管服务提供商。php.iniextension=php_openssl.so

确认站点的证书文件已正确安装和配置

您可能会在站点的日志文件中看到如下错误:

SSL Certificate Problem: Unable to get local issuer certificate

SSL Certificate Problem: Verify that the CA cert is OK.

如果是这样,则意味着您的站点没有安装正确的证书颁发机构 (CA) 证书,或者 PHP 找不到正确的证书。您可以安装 cURL 本身提供的一组受信任证书:

下载cacert.pem

将文件移动到受影响的计算机,例如:cacert.pem

/etc/pki/tls/cacert.pem

C:\php\extras\ssl\cacert.pem

编辑文件并更改参数,例如:php.inicurl.cainfo

curl.cainfo = “/etc/pki/tls/cacert.pem”

curl.cainfo = “C:\php\extras\ssl\cacert.pem”

请注意,在某些 PHP 配置中,您可能需要设置 ,而不是 ,以指向您下载的文件。openssl.cafilecurl.cainfocacert.pem

可能会重新启动您的 Web 服务器(例如 Apache)以使更改生效。php.ini

有关详细信息,请参阅:

https://docs.bolt.cm/3.7/howto/curl-ca-certificates

https://curl.haxx.se/docs/sslcerts.html

https://curl.haxx.se/libcurl/c/libcurl-errors.html

https://stackoverflow.com/questions/13467648/configuring-curl-for-ssl

如果需要,请将更新管理器配置为回退到 HTTP

如果您无权更改站点的PHP配置,或者所有其他方法都失败了,则可以将Drupal的Update Manager配置为回退到使用HTTP。不建议这样做,而且安全性较低(可能会使您面临“中间人”攻击,恶意站点声称 updates.drupal.org 并为您提供虚假信息)。但是,没有任何迹象表明您的网站缺少 Drupal 核心和贡献的模块和主题的可用安全更新可能会更糟。因此,如果需要,可以在文件中设置以下内容:settings.php

$settings['update_fetch_with_http_fallback'] = TRUE;


在这种情况下,更新管理器仍将首先尝试HTTPS,但如果失败,它将使用HTTP再次尝试,并希望获取可用的更新数据,而不是放弃并打印错误消息。

 

如果您已定义此设置,并且尝试“手动检查”(使用网站的“可用更新”报告中的链接)但仍看到错误消息,请确保您的网站已连接到互联网,您的网络设置正确等。调试站点无法发出出站请求的每种可能情况超出了本文档的范围。祝你好运!

  • 登录或注册以发表评论
内容类型分类
技术文章
文章归类
drupal

文章标签

  • 错误

评论

文章标签

Excel
CSS
ubuntu
php
vim
五笔
VPN
Linux
command
HTML
drupal 8
drupal 7
centos
composer
Mysql
模块(module)
drush
Drupal
JavaSrcipt
apache
英语
drupal 9
nerdtree
荔壳风
network
果树种植
surround
drupal10
SEO
主题(theme)
更多

相关文章

  • 因权限问题导致drupal cms 无法正常安装,那么该如何解决这个问题
  • kvm虚拟机启动失败:default网络未激活
  • ubuntu 安装kvm 虚拟机
  • foreach 是 PHP 循环语句使用方法
  • implode() 函数的定义和用法
  • Drupal 11 主题制作教程
  • 检查 Composer 是否为官方源
  • 在 Drupal 中权重(Weight)是怎样排序的
  • 解决 Drupal 主题缺失问题
  • 为什么学习php 会一边学,一边忘
RSS源

友情链接 网站地图 版权信息 联系我们 网址导航 社区

Copyright © 2019 - 2021 你行网 版权所有  粤ICP备19072650号