nginx: 502 Bad Gateway with Curl/https on Mac OS X

2019-05-23 16:54发布

问题:

I can't figure out why my nginx is crashing each time I try to use curl:

Code snippet to reproduce a crash:

$request = new \Buzz\Message\Request('GET', '/', 'https://google.com');
$response = new \Buzz\Message\Response();
$client = new \Buzz\Client\Curl();
$client->send($request, $response);

application log

2015/12/29 11:42:30 [error] 213#0: *416 upstream prematurely closed connection while reading response header from upstream, client: 127.0.0.1, server: dev-fr.local.xxxx.com, request: "GET /login/check-vkontakte?code=xxxxx HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "dev-ru.local.xxxx.com", referrer: "https://dev-ru.local.xxxx.com/"

/var/log/system.log

Dec 29 11:40:54 Alains-MacBook-Pro.local ReportCrash[75875]: Saved crash report for php-fpm[75864] version 0 to /Users/alain/Library/Logs/DiagnosticReports/php-fpm_2015-12-29-114054_Alains-MacBook-Pro.crash

crash report (beginning)

Process:               php-fpm [75865]
Path:                  /usr/local/Cellar/php56/5.6.15/sbin/php-fpm
Identifier:            php-fpm
Version:               0
Code Type:             X86-64 (Native)
Parent Process:        php-fpm [75858]
Responsible:           php-fpm [75858]
User ID:               501

Date/Time:             2015-12-29 11:42:30.733 +0100
OS Version:            Mac OS X 10.10.5 (14F1021)
Report Version:        11
Anonymous UUID:        1DC6CEB0-0479-4A5E-FFD2-E48BA3961196

Sleep/Wake UUID:       A704AF01-8AE8-44D2-BBF3-DED65D834B0B

Time Awake Since Boot: 29000 seconds
Time Since Wake:       3000 seconds

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000110

I searched for hours and always given up, but now I'm tired and really want to fix it.

Complete crash report: http://ninsuo.com/crash-nginx-xxxx.html

My phpinfo(): http://ninsuo.com/phpinfo-xxxx.html

回答1:

Better practice is to reinstall php with

brew install --with-fpm --with-homebrew-curl --with-homebrew-openssl --with-imap --with-homebrew-libxslt --without-snmp php56

and then reinstall curl with

brew install --with-openssl curl


回答2:

I experienced same problem early and fixed it with running php-fpm as root. Also I found links which confirms this solution:First link, Second link. Hope it will help you too.