跳转到主要内容
你行网

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再次尝试,并希望获取可用的更新数据,而不是放弃并打印错误消息。

 

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

  • 登录或注册以发表评论

文章标签

  • 错误

评论

文章标签

CSS
Excel
ubuntu
php
vim
五笔
Linux
VPN
command
HTML
drupal 8
drupal 7
centos
composer
Mysql
drush
模块(module)
Drupal
JavaSrcipt
apache
drupal 9
英语
nerdtree
SEO
network
果树种植
surround
drupal10
主题(theme)
ssh
phpmyadmin
yum
二进制
权限
声音
ssl
selinux
HTML5
WireGuard
password
Dreamweaver
DDEV
flameshot
翻译
颜色
uploadprogress
firewalld
kernel
邮件验证
视图(views)
快捷键
gzip
xdebug
错误
电脑基础
ckeditor
C语言
简介
源地址
mbstring
certbot
php扩展
git
csharp
httpd
apt
电子秤
压缩解压
breadcrumb
表单
短信验证
AI
firmware
摄影
diff
superfish
重定向
drupal 11
网站备份
docker
版本号
tagclouds
java
RSS
adsense
端口
电脑技巧
simple_adsense
KVM
算法
youtube
JavaScript
cookie
badblocks
网站运营
计算机基础
RFID
zip
标签优化
VUE
dns
gimp
form
mod_expires 模块
赚钱
ip
http验证
curl
重定向,301
netstat
字段
maven
input
nginx
哈希值
npm
wps
更多

相关文章

  • drupal9 无法上传翻译文件错误
RSS源

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

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