Articles of 超时

某些网站的cURL超时,在其他网站上完美工作

我试图获取博客的源代码。 如果我尝试从PHP或从命令行没关系。 两个超时。 还尝试过get_file_contents(),但同样的问题 问题 当我尝试这个命令: curl http://blogg.se -m 5 –verbose 我得到这个: * About to connect() to blogg.se port 80 (#0) * Trying 82.96.60.8… connected > GET / HTTP/1.1 > User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3 > Host: blogg.se > Accept: */* > * Operation timed out after 5001 milliseconds with 0 bytes […]

nginx服务器上的超时错误不一致

我有一个应用程序试图从Javascript应用程序的Ajax请求从nginx服务器检索xml文件。 通常情况下一切正常,但我经常在nginx日志中看到错误(并从我的应用程序错误报告中获取错误),nginx在获取期间显示超时: 2015/11/16 21:15:21 [error] 1208#0: *4894044 upstream timed out (110: Connection timed out) while connecting to upstream, client: 209.95.138.54, server: www.servername.com, request: "GET /Shape%20Textures/Metal/Born%20to%20Shine.jpg?agentView=436314 HTTP/1.1", upstream: "http://img.zgserver.com/nginx/Born to Shine.jpg?agentView=436314", host: "www.servername.com.com", referrer: "https://www.servername.com.com/?nid=39956&mode=edit" 我们也有时会得到这个类似的错误: 2015/11/17 19:03:16 [error] 1002#0: *54042 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 137.164.121.52, […]

NGINX HTTPS超时

我的问题是,如果我重新启动NGINX的HTTP工作正常,但HTTPS不可用。 我收到连接超时。 我检查了我可以在本地连接并检查证书。 这工作也很好。 我没有防火墙,但似乎是端口或什么被封锁。 请帮忙… server { server_name help.XXXX.de; listen 80; listen 443 default ssl; ssl on; ssl_certificate /etc/ssl/localcerts/0001_MAILcert.pem; ssl_certificate_key /etc/ssl/localcerts/0001_MAILcert.key; ssl_ciphers SSLv3+HIGH:RC4+MEDIUM:!aNULL:!eNULL:!3DES:!MD5:@STRENGTH; ssl_prefer_server_ciphers on; ssl_protocols TLSv1; access_log /var/www/XXXX.de/help.XXXX.de/logs/access.help.log main; index index.html index.htm index.php; root /var/www/XXXX.de/help.XXXX.de/htdocs; location / { try_files $uri $uri/ /index.php; } location ~ \.php$ { try_files $uri @rewrite; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index […]

PHP的Excel 504 Nginx超时在400条logging。 无法导出excel文件

我想用PHP excel库导出一个excel文件。 我可以导出约400条logging。 但是,当我去更多的约600个logging,我看到nginx超时错误。 我一直在试图解决这个问题。 有谁知道如何解决这个问题? 到目前为止,我已经玩过php选项,如.. set_time_limit(0); 和ini_set('memory_limit',' – 1'); 但仍然无法解决它。 请帮忙。 提前致谢。 感谢您的答复。 我联系了我的服务器公司,他们说他们已经添加了fastcgi_read_timeout 360; 到nginx设置。 现在它工作。 但是,下载启动非常缓慢。 我猜是因为PHP的Excel库。 任何人都可以build议我怎样才能更快地回应?

nginx / gunicorn连接挂了60秒

我正在对nginx-> gunicorn-> Django应用程序进行HTTP POST请求。 响应主体快速返回,但是请求还没有完成大约60多秒。 “完全完成”是指我尝试过的各种客户端(Chrome,wget,我正在构build的Android应用程序)表示请求仍在进行中,好像在等待更多数据。 从Wireshark收听,我发现所有数据都很快到达,然后在60秒之后,ACK FIN终于来了。 本地开发服务器( ./manage.py runserver )上的相同POST请求会很快执行。 另外,它直接对gunicorn执行,绕过nginx。 也可以在Apache / mod_wsgi设置中快速运行。 GET请求没有问题。 甚至其他的POST请求也没问题。 我知道的一个区别是这个具体的请求返回201不是200。 我认为它与Content-Length标题,closures与Keepalive连接有关,但还不知道事情应该如何正常工作。 后端服务器(gunicorn)目前正在closures连接,这是有道理的。 后端服务器应该包含Content-Length header还是Transfer-encoding: chunked ? 还是应该nginx能够应付没有这些,并根据需要添加它们? 我认为连接保持活着是有好处的,不应该在nginx中禁用。 更新:在nginx.conf中将keepalive_timeout设置为0修复了我的问题。 但是,当然,保持活力已经消失了。 我仍然不确定是什么问题。 可能是堆栈中的东西(我的Django应用程序或gunicorn)没有正确实现分块传输,并迷惑客户端。

为什么nginx会断开我的下载? (时间到?)

我有一个nginx服务器,提供文件,发送请求到php,并代理到一个node.js后端服务器。 这个node.js服务器提供文件下载,并做了一个很棒的工作。 它可以进行限制,可以挂上几个小时而没有问题。 这是通过直接连接到目前仍然绑定到外部interwebs的node.js端口来testing的。 不过,我想改变这一点,所以我需要有nginx处理代理。 在节点之前,我们有一个php脚本来提供相同的下载function,并且这个脚本在nginx后面运行几个小时(同时吸收主要资源,并在时间崩溃的服务器)没有问题。 所以,我改变了文件下载位置做代理到node.js并设置,我认为是允许无限长度下载的超时值。 location ~ ^(/my/download/.*)$ { proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:1337$1$is_args$args; send_timeout 12h; proxy_read_timeout 12h; proxy_send_timeout 12h; } 我相信这些值可能低至60s甚至更less,因为据推测(根据nginx文档)读取或发送的时间,而不是总数。 由于下载不断获得新的数据,它应该罚款低值。 不过,既然不行,我想确定这不是问题。 我没有添加连接超时,因为node.js是在本地主机上,所以连接时间应该可以忽略不计(除非节点繁忙,我知道它不是)。 由于某些未知的原因,nginx认为这个下载确实花费了很长时间,只是断开了连接。 我知道这一点,因为只要我从等式中移除nginx,所有东西都会永久运作。 为什么nginx超时,或由于其他原因断开连接? 我检查了日志,没有错误(也许我可以设置一些选项来logging超时?)。 我很快就秃顶脱光了 编辑:这是一个失败的下载的debugging日志的结束:2013/10/23 21:37:27 [debug] 23708#0:* 21 recv:fd:32 -1 of 4096 2013/10/23 21:37 :27 [debugging] 23708#0:* 21 recv()未准备好(11:资源暂时不可用)2013/10/23 21:37:27 […]

Elastic Beanstalk EC2实例上的Nginx代理超时

我有一个Docker应用程序运行在Elastic Beanstalk上,并且注意到偶尔它会超时并返回504 Gateway Timeout到来自Internet的请求。 为了进行debugging,我创build了一个脚本,在本地机器上运行,它不断向我的应用程序发送完全相同的请求,并告诉我它是否收到了200响应。 这是输出的摘录: [21:38:14] Success [21:38:15] Success [21:38:15] Success [21:39:15] Non 200 code: 504 [21:40:15] Non 200 code: 504 [21:41:15] Non 200 code: 504 [21:42:15] Non 200 code: 504 [21:43:15] Non 200 code: 504 [21:44:15] Success [21:44:15] Success [21:44:16] Success 我想知道如果504请求甚至打我的EC2实例,所以我检查了它的nginx日志: 172.31.8.21 – [01/Mar/2015:21:38:15 +0000] "GET /v1/jobs HTTP/1.1" 200 5 172.31.8.21 – […]

NGINX 504网关超时更改系统date

我正在与一个nginx代理的Django应用程序工作。 在我的应用程序中,我需要能够更改系统date,但nginx总是会引发504网关超时,因为它不会重新启动init会话时间。 任何人都可以说我如何禁用nginx连接超时? 这是我的nginxconfiguration文件: user www-data; worker_processes 4; pid /run/nginx.pid; events { worker_connections 768; # multi_accept on; } http { #Added by Denis fastcgi_buffers 8 16k; fastcgi_buffer_size 32k; fastcgi_connect_timeout 31536000; fastcgi_send_timeout 31536000; fastcgi_read_timeout 31536000; max_execution_time 31536000; proxy_connect_timeout 31536000; proxy_send_timeout 31536000; proxy_read_timeout 31536000; ## # Basic Settings ## sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 31536000; […]

AWS Elastic Beanstalk – configuration我的nginx设置以增加Java Spring maven应用程序的超时

所以我使用AWS Elastic Beanstalk托pipe我的Java Spring应用程序,并且有一些需要60秒以上的完成请求。 我想提高暂停上限,这样可以完成,所以我开始按照这个教程。 我成功地更改了ELB控制台中的Load Balancer超时,但是我在更改nginx代理的设置时遇到了问题。 本教程build议创build一个名为.ebextensions/nginx-timeout.config的文件,其中.ebextensions位于“我的项目的根目录”中。 本教程假设我们正在使用Docker的Beanstalk,我没有,所以我find了这个链接,build议用这些内容填充nginx-timeout.config内容: files: "/tmp/proxy.conf": mode: "000644" owner: root group: root content: | proxy_send_timeout 1200; proxy_read_timeout 1200; send_timeout 1200; container_commands: 00-add-config: command: cat /tmp/proxy.conf >> /var/elasticbeanstalk/staging/nginx/conf.d/elasticbeanstalk/00_application.conf 01-restart-nginx: command: service nginx restart 我的问题之一是我不知道我的应用程序的根源在哪里。 我正在使用Java的Spring Boot的Maven,所以我的结构如下: 我不知道是否应该将.ebextensions放在我的pom.xml文件所在的基本目录中,或者放在其他地方。 另外我部署这个应用程序的方法是使用maven来构build一个jar,然后上传jar,我不知道这是否会改变任何东西。 有关这个问题的任何build议? 我目前也试图看看我可能ssh到我的实例可能会改变那里的nginx服务器的configuration,但我不知道这是可能的。

如果nginx发送了499错误,请求是否“丢失”?

这是架构 客户端—-> Load Balancer —> nginx —–>应用程序 应用程序是单线程的,同步的(没有asynchronous的东西) 负载平衡器和nginx都有60秒的超时时间 应用程序只有一个端点需要10秒的时间来处理(当直接调用应用程序时),当没有stream量时,通过Loadbalancer的curl也需要10秒(这是正常的) 现在,在高负载的情况下,我们看到nginx日志中有大量的499与60个ISH响应时间 我目前的假设是 10个请求到达负载均衡器前面 LB将10个请求转发给nginx,并启动10个定时器 Nginx确认这10个请求启动了10个定时器,代理1给应用程序和另外9个等待 第一个请求结束,nginx转发200响应,nginx和LB需要10秒的时间 nginx现在发送第二个请求到应用程序需要10秒钟 nginx收到200响应,花费的时间:nginx和LB的20秒 第三次请求=> 30秒,第四次请求=> 40秒 第六个请求是由应用程序接收BUT TOO LATE,LBclosures连接,超时 nginx看到closures的连接并回复499 同样的第七,第八和第九的要求都出现了60秒的响应时间 现在我的问题: 我对正在发生的事情有所了解吗? 第六个请求是否完全由应用程序处理? 上面的第七个请求是由应用程序处理还是应用程序永远不会知道有第七个和更多的请求?