Thomas
Thomas

Reputation: 193

Typo3 behind Proxy

I'm trying to get a Typo3 (6.2) instance running behind a (forwarding) proxy (squid). I have set

'HTTP' => array(
            'adapter' => 'curl',
            'proxy_host' => 'my.local.proxy.ip',
            'proxy_port' => '8080',
)

as well as

'SYS' => array(
            'curlProxyServer' => 'http://my.local.proxy.ip:8080',
            'curlUse' => '1'
    )

The proxy doesn't ask for credentials.

When I try to update the extension list, I get the error message

Update Extension List Could not access remote resource http://repositories.typo3.org/mirrors.xml.gz.

If I try Get preconfigured distribution, it says

1342635425 Could not access remote resource http://repositories.typo3.org/mirrors.xml.gz.

According to the proxy log, the server doesn't even try to connect to the proxy.

I can easily download the file using wget on the command line.

Ok, I've investigated he issue a bit more and from what I can tell, the Typo3 doesn't even try to connect anywhere.

I used tcpdump and wireshark to analyze the network traffic. The site claims to have tried sending a http-Request to repositories.typo3.org so I'd expect to find either a proxy connection attempt or a DNS query followed by an attempt to connect to that IP. (Of course, the latter is known not to work.) However, none of this happens.

I've tried some slight changes in the variable curlProxyServer. The documentation clearly states

String: Proxyserver as http://proxy:port/. Deprecated since 4.6 - will be removed in TYPO3 CMS 7. See below for http options.

So I tried adding the trailing "/" and removing the "http://" - no change. I'm confident there's no problem whatsoever regarding the proxy as the proxy isn't even contacted and has been working perfectly fine for everything else for years.

Upvotes: 0

Views: 1849

Answers (1)

pgampe
pgampe

Reputation: 4578

The error message comes from \TYPO3\CMS\Extensionmanager\Utility\Repository\Helper::fetchFile(). This one uses \TYPO3\CMS\Core\Utility\GeneralUtility::getUrl() to get the actual file content. According to your setting, it should use the first part of the function, because curlUse is set and the URL starts with http or https.

So what you would need to do now is to throw some debug lines in the code and check at what point the request goes wrong.

Look at the source code, three possibilities come to mind:

  1. The curl proxy parameters does not support a scheme, thus it should be 'curlProxyServer' => 'my.local.proxy.ip:8080',.
  2. Some redirect does not work.
  3. Your proxy has problems with https, because the TYPO3 TER should be queried over https.

Upvotes: 2

Related Questions