我有兩個(gè)應(yīng)用程序,一個(gè) API 及其在 Windows 上的客戶端,帶有 Nginx 和帶有 Fastcgi 的 PHP 7.1。當(dāng)我從我的 API 向我的客戶端或從我的客戶端向我的 API 發(fā)送 CURL 請(qǐng)求時(shí),它可以正常工作。另一方面,如果 API 向客戶端發(fā)送請(qǐng)求,客戶端也向 API 發(fā)送請(qǐng)求,則情況不再如此。我的第一個(gè)請(qǐng)求將在 30 秒后超時(shí),在此期間我無(wú)法向客戶端發(fā)送并行請(qǐng)求。他們都會(huì)超時(shí),直到第一個(gè)結(jié)束。到目前為止我嘗試過(guò)的:我將此添加到我的 Nginx 配置中 fastcgi_read_timeout 120s; upstream php-cgi { server 127.0.0.1:9000 max_conns=5 weight=1 max_fails=0 fail_timeout=30s; server 127.0.0.1:9001 max_conns=5 weight=1 max_fails=0 fail_timeout=30s; server 127.0.0.1:9002 max_conns=5 weight=1 max_fails=0 fail_timeout=30s; server 127.0.0.1:9003 max_conns=5 weight=1 max_fails=0 fail_timeout=30s; server 127.0.0.1:9004 max_conns=5 weight=1 max_fails=0 fail_timeout=30s; server 127.0.0.1:9005 max_conns=5 weight=1 max_fails=0 fail_timeout=30s; server 127.0.0.1:9006 max_conns=5 weight=1 max_fails=0 fail_timeout=30s; server 127.0.0.1:9007 max_conns=5 weight=1 max_fails=0 fail_timeout=30s; server 127.0.0.1:9008 max_conns=5 weight=1 max_fails=0 fail_timeout=30s; server 127.0.0.1:9009 max_conns=5 weight=1 max_fails=0 fail_timeout=30s; server 127.0.0.1:9012 max_conns=5 weight=1 max_fails=0 fail_timeout=30s; }以下是我使用的 CURL 選項(xiàng):CURLOPT_RETURNTRANSFER => true,CURLOPT_HEADER => true,CURLINFO_HEADER_OUT => true,CURLOPT_ENCODING => '',CURLOPT_MAXREDIRS => 10,CURLOPT_TIMEOUT => 30,CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,CURLOPT_URL=> MY_URL,CURLOPT_POSTFIELDS=> MY_DATA,CURLOPT_CUSTOMREQUEST=> MY METHOD,CURLOPT_HTTPHEADER=> MY HEADERS這是我啟動(dòng)服務(wù)器的方式:c:\nginx\RunHiddenConsole.exe c:\nginx\php-7.1\php-cgi.exe -b 127.0.0.1:9005 -c c:\nginx\php-7.1\php.inic:\nginx\RunHiddenConsole.exe c:\nginx\php-7.1\php-cgi.exe -b 127.0.0.1:9007 -c c:\nginx\php-7.1\php.inic:\nginx\RunHiddenConsole.exe c:\nginx\nginx.exe
兩個(gè)客戶端之間的 CURL 請(qǐng)求因超時(shí)而失敗
繁星點(diǎn)點(diǎn)滴滴
2021-10-15 10:35:34