我正在尝试在(转发)代理(squid)后面运行一个Typo3(6.2)实例。我已经设置了
'HTTP' => array(
'adapter' => 'curl',
'proxy_host' => 'my.local.proxy.ip',
'proxy_port' => '8080',
)
以及
'SYS' => array(
'curlProxyServer' => 'http://my.local.proxy.ip:8080',
'curlUse' => '1'
)
代理人不会要求提供凭据。
当我尝试更新扩展名列表时,收到错误消息
更新扩展程序列表 无法访问远程资源http://repositories.typo3.org/mirrors.xml.gz。
如果我尝试获取预配置的分发,则说
1342635425 无法访问远程资源http://repositories.typo3.org/mirrors.xml.gz。
根据代理日志,服务器甚至不尝试连接到代理。
我可以在命令行上使用wget轻松下载文件。
好的,我已经调查了他的问题,根据我的判断,Typo3甚至尝试连接任何地方。
我使用tcpdump和wireshark来分析网络流量。该网站声称已尝试向repositories.typo3.org发送http-Request,因此我希望找到代理连接尝试或DNS查询,然后尝试连接到该IP。 (当然,后者被认为不起作用。)但是,这一切都不会发生。
我在变量curlProxyServer中尝试了一些细微的变化。文件明确说明
字符串:Proxyserver为http://proxy:port/。自4.6以后不推荐使用 - 将在TYPO3 CMS 7中删除。请参阅下面的http选项。
所以我尝试添加尾随的“/”并删除“http://” - 没有变化。我相信代理服务器没有任何问题,因为代理服务器甚至没有联系过,而且多年来一直对其他一切工作都很好。
答案 0 :(得分:2)
错误消息来自\TYPO3\CMS\Extensionmanager\Utility\Repository\Helper::fetchFile()
。这个使用\TYPO3\CMS\Core\Utility\GeneralUtility::getUrl()
来获取实际的文件内容。
根据您的设置,它应该使用该功能的第一部分,因为设置了curlUse
且网址以http
或https
开头。
所以你现在需要做的是在代码中抛出一些调试行,并检查请求出错的地方。
查看源代码,我想到了三种可能性:
'curlProxyServer' => 'my.local.proxy.ip:8080',
。https
时遇到问题,因为应TYPO3 TER
查询https
。