我在根服务器上安装了一个新的TYPO3 v10LTS (v4.4)与Ubuntu 16LTS和Plesk。
当我登录到BE并转到'Dashboard'时,小部件新闻显示了这个红色消息:
An error occurred while retrieving information for this widget. Please try again, and if the problem persists, contact your administrator.
我也得到一个日志错误:
Core: Exception handler (WEB): Uncaught TYPO3 Exception: #1573385431: RSS URL could not be fetched | RuntimeException thrown in file /var/www/httpdocs/typo3_src-10.4.4/typo3/sysext/dashboard/Classes/Widgets/RssWidget.php in line 106. Requested URL: project-url/typo3/index.php?route=%%2Fajax%%2Fdashboard%%2Fwidget%%2Fcontent&token=--AnonymizedToken--&widget=t3news
当我然后去,例如在页面模块上,它需要相当长的时间来加载和页面树项目丢失。有时服务器崩溃,前端无法访问并显示错误。error_log文件显示了这个错误:
[Sun Oct 24 20:00:06.87213 2021] [evasive20:error] [pid 13801] [client ip:53534] client denied by server configuration: /var/www/httpdocs/project/typo3/index.php, referer: project-url/typo3/index.php?route=%2Fmain&token=d5da26e3df928sdffa36e0df6597c71
我以前有一些权限问题,我想我已经解决了:
- TYPO3 9LTS -使用plesk onyx将实例移动到linux rootserver后,图像无法渲染
- Plesk - TYPO3 10LTS -客户端试图访问页面模块时被服务器配置错误拒绝&fail2ban锁定
我已经为文件夹/项目和递归设置了以下权限:
Permission: User: Group:
rwx rwx r-x www-data psacln
And I run:
$ sudo find . -type f -exec chmod 664 {} ;
$ sudo find . -type d -exec chmod 2775 {} ;
$ user:/var/www/httpdocs/project$ ls -la
drwxrwsr-x 6 www-data psacln 4096 Jun 8 2020 fileadmin
-rw-rw-r-- 1 www-data psacln 13793 Okt 21 19:54 .htaccess
lrwxrwxrwx 1 www-data psacln 19 Jun 8 2020 index.php -> typo3_src/index.php
lrwxrwxrwx 1 www-data psacln 15 Jun 8 2020 typo3 -> typo3_src/typo3
drwxrwsr-x 6 www-data psacln 4096 Okt 21 19:06 typo3conf
lrwxrwxrwx 1 www-data psacln 19 Jun 9 2020 typo3_src -> ../typo3_src-10.4.4
drwxrwsr-x 4 www-data psacln 4096 Jun 8 2020 typo3temp
$ user:/var/www/httpdocs$ ls -la
drwxrwsr-x 4 www-data psacln 4096 Jun 9 2020 typo3_src-10.4.4
$ user:/var/www/httpdocs/typo3_src-10.4.4$ ls -la
-rw-rw-r-- 1 www-data psacln 11508 Jun 9 2020 composer.json
-rw-rw-r-- 1 www-data psacln 300325 Jun 9 2020 composer.lock
-rw-rw-r-- 1 www-data psacln 1013 Jun 9 2020 CONTRIBUTING.md
-rw-rw-r-- 1 www-data psacln 947 Jun 9 2020 index.php
-rw-rw-r-- 1 www-data psacln 1418 Jun 9 2020 INSTALL.md
-rw-rw-r-- 1 www-data psacln 18425 Jun 9 2020 LICENSE.txt
-rw-rw-r-- 1 www-data psacln 6730 Jun 9 2020 README.md
drwxrwsr-x 3 www-data psacln 4096 Jun 9 2020 typo3
drwxrwsr-x 15 www-data psacln 4096 Jun 9 2020 vendor
更多信息:
PHP版本是7.3.27,我从Apache设置了PHP在FPM上的执行。php-info显示"FPM/FastCGI">
$ user:/var/www/httpdocs$ sudo ps -o command,user,group -p $(pgrep php-fpm)
COMMAND USER GROUP
php-fpm: master process (/o root root
php-fpm: master process (/e root root
php-fpm: pool www www-data www-data
php-fpm: pool www www-data www-data
$ user:/var/www/httpdocs$ sudo ps -o command,user,group -p $(pgrep nginx)
COMMAND USER GROUP
nginx: master process /usr/ root root
nginx: worker process nginx nginx
$ user:/var/www/httpdocs$ sudo ps -o command,user,group -p $(pgrep apache)
COMMAND USER GROUP
/usr/sbin/apache2 -k start root root
/usr/sbin/apache2 -k start www-data www-data
$ user:/var/www/httpdocs$ getent group psacln
psacln:x:1003:www-data
如何解决这个问题?
编辑:检查curl显示:
$ user:/var/www/httpdocs$ curl -I https://www.typo3.org/rss
curl: (60) server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
More details here: http://curl.haxx.se/docs/sslcerts.html
curl performs SSL certificate verification by default, using a "bundle"
of Certificate Authority (CA) public keys (CA certs). If the default
bundle file isn't adequate, you can specify an alternate file
using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
the bundle, the certificate verification probably failed due to a
problem with the certificate (it might be expired, or the name might
not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
the -k (or --insecure) option.
phpinfo()显示了
cURL Information 7.47.0
根据您的异常代码,错误发生在为仪表板扩展中的新闻小部件获取https://www.typo3.org/rss期间。这与你的权限问题无关。
我认为有三个可能的原因:
- https://www.typo3.org/rss可能暂时不可用。但至少目前,RSS源工作得很好。你的web服务器/PHP没有安装cURL。您可以在服务器的CLI中使用
curl -I https://www.typo3.org/rss
进行检查,结果应该是HTTP/2 302
。 - 您的服务器上有防火墙,阻止了发送请求。