Welcome! Log In Create A New Profile

Advanced

Re: 504 Gateway Time-out when calling curl_exec() in PHP with SSL peer verification (CURLOPT_SSL_VERIFYPEER) off

Ben Johnson
August 23, 2013 04:30PM
On 8/23/2013 3:23 PM, Maxim Dounin wrote:
> Hello!
>
> On Fri, Aug 23, 2013 at 02:41:43PM -0400, Ben Johnson wrote:
>
>>
>>
>> On 8/23/2013 2:05 PM, Maxim Dounin wrote:
>>> Hello!
>>>
>>> On Fri, Aug 23, 2013 at 12:46:44PM -0400, Ben Johnson wrote:
>>>
>>>> Hello,
>>>>
>>>> I'm seeing a strange problem with nginx (1.5.2 on Windows) and PHP
>>>> (5.4.8 on Windows).
>>>>
>>>> Whenever I make a cURL request with PHP's curl_exec() function to a
>>>> secure URL (https protocol), and I disable peer verification, like this
>>>>
>>>> curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
>>>>
>>>> nginx responds with a "504 Gateway Time-out".
>>>>
>>>> If I set CURLOPT_SSL_VERIFYPEER to TRUE, nginx responds with a "200 OK",
>>>> although curl_exec() returns false, which is expected due to the
>>>> verification failure (I'm using a self-signed certificate in nginx).
>>>>
>>>> I have tried executing the same script under Apache and it functions as
>>>> expected with peer verification disabled.
>>>
>>> What URL is requested by your script? Symptoms described suggest
>>> you are requesting some php script from the same server, and 504
>>> is likely due to only one php backend process.
>>>
>>
>> Thank you for the quick reply, Maxim! I appreciate it.
>>
>> You are exactly right; my script requests another URL on the same server
>> (which happens to be localhost in this case).
>>
>> Just so I understand the problem, are you saying that the script that
>> contains the cURL call (via PHP's curl_exec() function) essentially
>> ties-up the only available PHP backend process, which causes curl_exec()
>> to time-out when it requests another URL on the same server?
>>
>> Is there a solution to this problem?
>>
>> My setup is essentially the same as what is described at
>> http://wiki.nginx.org/PHPFastCGIOnWindows .
>
> If you are using php-cgi, configuring PHP_FCGI_CHILDREN
> environment variable before starting php-cgi should help.
>

Thank you for the suggestion, Maxim.

I set PHP_FCGI_CHILDREN to 4, 20, etc., but it doesn't seem to make any
difference. Here is the Windows batch script that I'm using to start
php-cgi.exe (please excuse the wrapping):

@ECHO OFF
ECHO Starting PHP FastCGI...
SET PHP_FCGI_MAX_REQUESTS=0
SET PHP_FCGI_CHILDREN=4
SET PATH="C:\Program Files\php;%PATH%"
"C:\Program Files\php\php-cgi.exe" -b 127.0.0.1:9000 -c "C:\Program
Files\php\php.ini"

Any other ideas?

Thanks again,

-Ben

_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx
Subject Author Posted

504 Gateway Time-out when calling curl_exec() in PHP with SSL peer verification (CURLOPT_SSL_VERIFYPEER) off

Ben Johnson August 23, 2013 12:48PM

Re: 504 Gateway Time-out when calling curl_exec() in PHP with SSL peer verification (CURLOPT_SSL_VERIFYPEER) off

Maxim Dounin August 23, 2013 02:08PM

Re: 504 Gateway Time-out when calling curl_exec() in PHP with SSL peer verification (CURLOPT_SSL_VERIFYPEER) off

Ben Johnson August 23, 2013 02:42PM

Re: 504 Gateway Time-out when calling curl_exec() in PHP with SSL peer verification (CURLOPT_SSL_VERIFYPEER) off

Maxim Dounin August 23, 2013 03:24PM

Re: 504 Gateway Time-out when calling curl_exec() in PHP with SSL peer verification (CURLOPT_SSL_VERIFYPEER) off

Ben Johnson August 23, 2013 04:30PM

Re: 504 Gateway Time-out when calling curl_exec() in PHP with SSL peer verification (CURLOPT_SSL_VERIFYPEER) off

Cool August 23, 2013 07:02PM

Re: 504 Gateway Time-out when calling curl_exec() in PHP with SSL peer verification (CURLOPT_SSL_VERIFYPEER) off

itpp2012 August 24, 2013 05:29AM

Re: 504 Gateway Time-out when calling curl_exec() in PHP with SSL peer verification (CURLOPT_SSL_VERIFYPEER) off

Ben Johnson August 26, 2013 10:40AM

RE: 504 Gateway Time-out when calling curl_exec() in PHP with SSL peer verification (CURLOPT_SSL_VERIFYPEER) off

Lukas Tribus August 26, 2013 11:28AM

Re: 504 Gateway Time-out when calling curl_exec() in PHP with SSL peer verification (CURLOPT_SSL_VERIFYPEER) off

Ben Johnson August 28, 2013 09:46AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 128
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready