HAProxy -> nginx -> Fast CGI: epoll_wait() reported that client prematurely closed connection ...
Why aren't air breathing engines used as small first stages
Can you use the Shield Master feat to shove someone before you make an attack by using a Readied action?
Would "destroying" Wurmcoil Engine prevent its tokens from being created?
How could we fake a moon landing now?
Fundamental Solution of the Pell Equation
Do square wave exist?
Do I really need recursive chmod to restrict access to a folder?
If a VARCHAR(MAX) column is included in an index, is the entire value always stored in the index page(s)?
How to deal with a team lead who never gives me credit?
What's the meaning of "fortified infraction restraint"?
What is the longest distance a player character can jump in one leap?
What does the "x" in "x86" represent?
Do I really need to have a message in a novel to appeal to readers?
Is it cost-effective to upgrade an old-ish Giant Escape R3 commuter bike with entry-level branded parts (wheels, drivetrain)?
また usage in a dictionary
Has negative voting ever been officially implemented in elections, or seriously proposed, or even studied?
Maximum summed powersets with non-adjacent items
Crossing US/Canada Border for less than 24 hours
How to find all the available tools in mac terminal?
Delete nth line from bottom
Denied boarding although I have proper visa and documentation. To whom should I make a complaint?
Is it ethical to give a final exam after the professor has quit before teaching the remaining chapters of the course?
Should I use a zero-interest credit card for a large one-time purchase?
What does this Jacques Hadamard quote mean?
HAProxy -> nginx -> Fast CGI: epoll_wait() reported that client prematurely closed connection
Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)
Come Celebrate our 10 Year Anniversary!Mono fast cgi not working on nginxMono through FastCGI on nginxConnection refused while connecting to upstream504 Gateway timeout / 502 Bad gateway after installing php curl - server nginxuwsgi + nginx + flask: upstream prematurely closed after file is downloadedGetting a 502 Bad gateway error with nginx on ubuntuGetting recv() failed (104: Connection reset by peer)FastCGI: Access deniedDocker, Nginx and PHP7: ERROR 111 Connection refused while connecting to upstreamfastcgi issue 7.2 with Nginx
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}
I have been successful in setting up an PHP fast CGI application fronted by nginx. If I hit nginx directly everything works as expected. However, in production the traffic is routed through a HAProxy instance and I can't get that configuration to work.
When going through HAProxy I get 502 Bad Gateway
and the following error from nginx:
[info] 7#7: *1 epoll_wait() reported that client prematurely closed connection, so upstream connection is closed too (104: Connection reset by peer) while reading upstream, client: 172.18.0.6, server: , request: "GET / HTTP/1.1", upstream: "fastcgi://172.18.0.3:9000", host: "localhost:8888"
Configuration
Here's my docker-compose.yml describing the stack:
version: '2'
services:
logger:
image: colstrom/syslog
proxy:
build:
context: .
dockerfile: Dockerfile-haproxy
ports:
- "8888:12000"
web:
build:
context: .
dockerfile: Dockerfile-web
ports:
- "9999:80"
php:
build:
context: .
dockerfile: Dockerfile-app
Dockerfile-haproxy:
FROM haproxy:1.7
COPY haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg
EXPOSE 12000
haproxy.cfg
global
maxconn 4096
maxpipes 1024
log logger:514 local2
defaults
timeout client 50000
timeout connect 5000
timeout server 50000
frontend bak
bind *:12000
mode http
option httplog
log global
default_backend bak
backend bak
mode http
server web web:80
Dockerfile-web:
FROM nginx
COPY site.conf /etc/nginx/conf.d/default.conf
COPY src /var/www/html
site.conf (nginx config):
server {
index index.php index.html;
error_log /var/log/nginx/error.log info;
access_log /var/log/nginx/access.log;
root /var/www/html;
location / {
fastcgi_pass php:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME index.php;
}
}
The full log output from docker-compose is as follows:
php_1 | 172.18.0.2 - 11/Feb/2017:11:09:19 +0000 "GET /" 200
web_1 | 2017/02/11 11:09:19 [info] 7#7: *1 epoll_wait() reported that client prematurely closed connection, so upstream connection is closed too (104: Connection reset by peer) while reading upstream, client: 172.18.0.6, server: , request: "GET / HTTP/1.1", upstream: "fastcgi://172.18.0.3:9000", host: "localhost:8888"
web_1 | 172.18.0.6 - - [11/Feb/2017:11:09:19 +0000] "GET / HTTP/1.1" 200 8005 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36"
logger_1 | Feb 11 11:09:19 a94d638768c9 user.notice root: <150>Feb 11 11:09:19 haproxy[9]: 172.18.0.1:54508 [11/Feb/2017:11:09:19.285] bak bak/web 0/0/1/-1/37 502 8524 - - PH-- 0/0/0/0/0 0/0 "GET / HTTP/1.1"
Seems like there needs to be some additional configuration in HAProxy or nginx but I'm none the wiser as to what.
Updates / Things I've tried
Set nginx fastcgi_ignore_client_abort on;
is one suggested fix I've come across. The net result is the same but the nginx error is slightly different:
2017/02/11 11:40:35 [info] 7#7: *3 writev() failed (104: Connection reset by peer) while sending to client, client: 172.18.0.5, server: , request: "GET / HTTP/1.1", upstream: "fastcgi://172.18.0.2:9000", host: "localhost:8888"
Set nginx proxy_buffering on;
. This makes no difference.
Setting haproxy mode tcp
will correctly serve the page. However I need mode http
because I'm doing L7 load balancing (not shown in this test case). This lead me to realise that the HAProxy logs are reporting PH
which I understand to mean a bad response from the upstream.
Is there any way I can get more info on that? If I go straight to nginx the response headers look fine as far as I can tell:
HTTP/1.1 200 OK
Server: nginx/1.11.9
Date: Sat, 11 Feb 2017 12:05:07 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/5.4.45
Expires: Sat, 11 Feb 2017 12:15:07GMT
Cache-Control: public,max-age=600
nginx proxy haproxy fastcgi
bumped to the homepage by Community♦ 7 mins ago
This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
add a comment |
I have been successful in setting up an PHP fast CGI application fronted by nginx. If I hit nginx directly everything works as expected. However, in production the traffic is routed through a HAProxy instance and I can't get that configuration to work.
When going through HAProxy I get 502 Bad Gateway
and the following error from nginx:
[info] 7#7: *1 epoll_wait() reported that client prematurely closed connection, so upstream connection is closed too (104: Connection reset by peer) while reading upstream, client: 172.18.0.6, server: , request: "GET / HTTP/1.1", upstream: "fastcgi://172.18.0.3:9000", host: "localhost:8888"
Configuration
Here's my docker-compose.yml describing the stack:
version: '2'
services:
logger:
image: colstrom/syslog
proxy:
build:
context: .
dockerfile: Dockerfile-haproxy
ports:
- "8888:12000"
web:
build:
context: .
dockerfile: Dockerfile-web
ports:
- "9999:80"
php:
build:
context: .
dockerfile: Dockerfile-app
Dockerfile-haproxy:
FROM haproxy:1.7
COPY haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg
EXPOSE 12000
haproxy.cfg
global
maxconn 4096
maxpipes 1024
log logger:514 local2
defaults
timeout client 50000
timeout connect 5000
timeout server 50000
frontend bak
bind *:12000
mode http
option httplog
log global
default_backend bak
backend bak
mode http
server web web:80
Dockerfile-web:
FROM nginx
COPY site.conf /etc/nginx/conf.d/default.conf
COPY src /var/www/html
site.conf (nginx config):
server {
index index.php index.html;
error_log /var/log/nginx/error.log info;
access_log /var/log/nginx/access.log;
root /var/www/html;
location / {
fastcgi_pass php:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME index.php;
}
}
The full log output from docker-compose is as follows:
php_1 | 172.18.0.2 - 11/Feb/2017:11:09:19 +0000 "GET /" 200
web_1 | 2017/02/11 11:09:19 [info] 7#7: *1 epoll_wait() reported that client prematurely closed connection, so upstream connection is closed too (104: Connection reset by peer) while reading upstream, client: 172.18.0.6, server: , request: "GET / HTTP/1.1", upstream: "fastcgi://172.18.0.3:9000", host: "localhost:8888"
web_1 | 172.18.0.6 - - [11/Feb/2017:11:09:19 +0000] "GET / HTTP/1.1" 200 8005 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36"
logger_1 | Feb 11 11:09:19 a94d638768c9 user.notice root: <150>Feb 11 11:09:19 haproxy[9]: 172.18.0.1:54508 [11/Feb/2017:11:09:19.285] bak bak/web 0/0/1/-1/37 502 8524 - - PH-- 0/0/0/0/0 0/0 "GET / HTTP/1.1"
Seems like there needs to be some additional configuration in HAProxy or nginx but I'm none the wiser as to what.
Updates / Things I've tried
Set nginx fastcgi_ignore_client_abort on;
is one suggested fix I've come across. The net result is the same but the nginx error is slightly different:
2017/02/11 11:40:35 [info] 7#7: *3 writev() failed (104: Connection reset by peer) while sending to client, client: 172.18.0.5, server: , request: "GET / HTTP/1.1", upstream: "fastcgi://172.18.0.2:9000", host: "localhost:8888"
Set nginx proxy_buffering on;
. This makes no difference.
Setting haproxy mode tcp
will correctly serve the page. However I need mode http
because I'm doing L7 load balancing (not shown in this test case). This lead me to realise that the HAProxy logs are reporting PH
which I understand to mean a bad response from the upstream.
Is there any way I can get more info on that? If I go straight to nginx the response headers look fine as far as I can tell:
HTTP/1.1 200 OK
Server: nginx/1.11.9
Date: Sat, 11 Feb 2017 12:05:07 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/5.4.45
Expires: Sat, 11 Feb 2017 12:15:07GMT
Cache-Control: public,max-age=600
nginx proxy haproxy fastcgi
bumped to the homepage by Community♦ 7 mins ago
This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
add a comment |
I have been successful in setting up an PHP fast CGI application fronted by nginx. If I hit nginx directly everything works as expected. However, in production the traffic is routed through a HAProxy instance and I can't get that configuration to work.
When going through HAProxy I get 502 Bad Gateway
and the following error from nginx:
[info] 7#7: *1 epoll_wait() reported that client prematurely closed connection, so upstream connection is closed too (104: Connection reset by peer) while reading upstream, client: 172.18.0.6, server: , request: "GET / HTTP/1.1", upstream: "fastcgi://172.18.0.3:9000", host: "localhost:8888"
Configuration
Here's my docker-compose.yml describing the stack:
version: '2'
services:
logger:
image: colstrom/syslog
proxy:
build:
context: .
dockerfile: Dockerfile-haproxy
ports:
- "8888:12000"
web:
build:
context: .
dockerfile: Dockerfile-web
ports:
- "9999:80"
php:
build:
context: .
dockerfile: Dockerfile-app
Dockerfile-haproxy:
FROM haproxy:1.7
COPY haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg
EXPOSE 12000
haproxy.cfg
global
maxconn 4096
maxpipes 1024
log logger:514 local2
defaults
timeout client 50000
timeout connect 5000
timeout server 50000
frontend bak
bind *:12000
mode http
option httplog
log global
default_backend bak
backend bak
mode http
server web web:80
Dockerfile-web:
FROM nginx
COPY site.conf /etc/nginx/conf.d/default.conf
COPY src /var/www/html
site.conf (nginx config):
server {
index index.php index.html;
error_log /var/log/nginx/error.log info;
access_log /var/log/nginx/access.log;
root /var/www/html;
location / {
fastcgi_pass php:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME index.php;
}
}
The full log output from docker-compose is as follows:
php_1 | 172.18.0.2 - 11/Feb/2017:11:09:19 +0000 "GET /" 200
web_1 | 2017/02/11 11:09:19 [info] 7#7: *1 epoll_wait() reported that client prematurely closed connection, so upstream connection is closed too (104: Connection reset by peer) while reading upstream, client: 172.18.0.6, server: , request: "GET / HTTP/1.1", upstream: "fastcgi://172.18.0.3:9000", host: "localhost:8888"
web_1 | 172.18.0.6 - - [11/Feb/2017:11:09:19 +0000] "GET / HTTP/1.1" 200 8005 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36"
logger_1 | Feb 11 11:09:19 a94d638768c9 user.notice root: <150>Feb 11 11:09:19 haproxy[9]: 172.18.0.1:54508 [11/Feb/2017:11:09:19.285] bak bak/web 0/0/1/-1/37 502 8524 - - PH-- 0/0/0/0/0 0/0 "GET / HTTP/1.1"
Seems like there needs to be some additional configuration in HAProxy or nginx but I'm none the wiser as to what.
Updates / Things I've tried
Set nginx fastcgi_ignore_client_abort on;
is one suggested fix I've come across. The net result is the same but the nginx error is slightly different:
2017/02/11 11:40:35 [info] 7#7: *3 writev() failed (104: Connection reset by peer) while sending to client, client: 172.18.0.5, server: , request: "GET / HTTP/1.1", upstream: "fastcgi://172.18.0.2:9000", host: "localhost:8888"
Set nginx proxy_buffering on;
. This makes no difference.
Setting haproxy mode tcp
will correctly serve the page. However I need mode http
because I'm doing L7 load balancing (not shown in this test case). This lead me to realise that the HAProxy logs are reporting PH
which I understand to mean a bad response from the upstream.
Is there any way I can get more info on that? If I go straight to nginx the response headers look fine as far as I can tell:
HTTP/1.1 200 OK
Server: nginx/1.11.9
Date: Sat, 11 Feb 2017 12:05:07 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/5.4.45
Expires: Sat, 11 Feb 2017 12:15:07GMT
Cache-Control: public,max-age=600
nginx proxy haproxy fastcgi
I have been successful in setting up an PHP fast CGI application fronted by nginx. If I hit nginx directly everything works as expected. However, in production the traffic is routed through a HAProxy instance and I can't get that configuration to work.
When going through HAProxy I get 502 Bad Gateway
and the following error from nginx:
[info] 7#7: *1 epoll_wait() reported that client prematurely closed connection, so upstream connection is closed too (104: Connection reset by peer) while reading upstream, client: 172.18.0.6, server: , request: "GET / HTTP/1.1", upstream: "fastcgi://172.18.0.3:9000", host: "localhost:8888"
Configuration
Here's my docker-compose.yml describing the stack:
version: '2'
services:
logger:
image: colstrom/syslog
proxy:
build:
context: .
dockerfile: Dockerfile-haproxy
ports:
- "8888:12000"
web:
build:
context: .
dockerfile: Dockerfile-web
ports:
- "9999:80"
php:
build:
context: .
dockerfile: Dockerfile-app
Dockerfile-haproxy:
FROM haproxy:1.7
COPY haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg
EXPOSE 12000
haproxy.cfg
global
maxconn 4096
maxpipes 1024
log logger:514 local2
defaults
timeout client 50000
timeout connect 5000
timeout server 50000
frontend bak
bind *:12000
mode http
option httplog
log global
default_backend bak
backend bak
mode http
server web web:80
Dockerfile-web:
FROM nginx
COPY site.conf /etc/nginx/conf.d/default.conf
COPY src /var/www/html
site.conf (nginx config):
server {
index index.php index.html;
error_log /var/log/nginx/error.log info;
access_log /var/log/nginx/access.log;
root /var/www/html;
location / {
fastcgi_pass php:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME index.php;
}
}
The full log output from docker-compose is as follows:
php_1 | 172.18.0.2 - 11/Feb/2017:11:09:19 +0000 "GET /" 200
web_1 | 2017/02/11 11:09:19 [info] 7#7: *1 epoll_wait() reported that client prematurely closed connection, so upstream connection is closed too (104: Connection reset by peer) while reading upstream, client: 172.18.0.6, server: , request: "GET / HTTP/1.1", upstream: "fastcgi://172.18.0.3:9000", host: "localhost:8888"
web_1 | 172.18.0.6 - - [11/Feb/2017:11:09:19 +0000] "GET / HTTP/1.1" 200 8005 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36"
logger_1 | Feb 11 11:09:19 a94d638768c9 user.notice root: <150>Feb 11 11:09:19 haproxy[9]: 172.18.0.1:54508 [11/Feb/2017:11:09:19.285] bak bak/web 0/0/1/-1/37 502 8524 - - PH-- 0/0/0/0/0 0/0 "GET / HTTP/1.1"
Seems like there needs to be some additional configuration in HAProxy or nginx but I'm none the wiser as to what.
Updates / Things I've tried
Set nginx fastcgi_ignore_client_abort on;
is one suggested fix I've come across. The net result is the same but the nginx error is slightly different:
2017/02/11 11:40:35 [info] 7#7: *3 writev() failed (104: Connection reset by peer) while sending to client, client: 172.18.0.5, server: , request: "GET / HTTP/1.1", upstream: "fastcgi://172.18.0.2:9000", host: "localhost:8888"
Set nginx proxy_buffering on;
. This makes no difference.
Setting haproxy mode tcp
will correctly serve the page. However I need mode http
because I'm doing L7 load balancing (not shown in this test case). This lead me to realise that the HAProxy logs are reporting PH
which I understand to mean a bad response from the upstream.
Is there any way I can get more info on that? If I go straight to nginx the response headers look fine as far as I can tell:
HTTP/1.1 200 OK
Server: nginx/1.11.9
Date: Sat, 11 Feb 2017 12:05:07 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/5.4.45
Expires: Sat, 11 Feb 2017 12:15:07GMT
Cache-Control: public,max-age=600
nginx proxy haproxy fastcgi
nginx proxy haproxy fastcgi
edited Feb 11 '17 at 12:10
djskinner
asked Feb 11 '17 at 11:36
djskinnerdjskinner
11115
11115
bumped to the homepage by Community♦ 7 mins ago
This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
bumped to the homepage by Community♦ 7 mins ago
This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
The PH--
in the haproxy logs revealed the problem in the end. The HTTP response headers were invalid. I just got rid of Date
and Expires
and everything now works perfectly.
2
Expires: Sat, 11 Feb 2017 12:15:07GMT
lacks a space beforeGMT
. Not sure if that was it, but it seems possible.
– Michael - sqlbot
Feb 11 '17 at 17:34
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "2"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f831997%2fhaproxy-nginx-fast-cgi-epoll-wait-reported-that-client-prematurely-clos%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
The PH--
in the haproxy logs revealed the problem in the end. The HTTP response headers were invalid. I just got rid of Date
and Expires
and everything now works perfectly.
2
Expires: Sat, 11 Feb 2017 12:15:07GMT
lacks a space beforeGMT
. Not sure if that was it, but it seems possible.
– Michael - sqlbot
Feb 11 '17 at 17:34
add a comment |
The PH--
in the haproxy logs revealed the problem in the end. The HTTP response headers were invalid. I just got rid of Date
and Expires
and everything now works perfectly.
2
Expires: Sat, 11 Feb 2017 12:15:07GMT
lacks a space beforeGMT
. Not sure if that was it, but it seems possible.
– Michael - sqlbot
Feb 11 '17 at 17:34
add a comment |
The PH--
in the haproxy logs revealed the problem in the end. The HTTP response headers were invalid. I just got rid of Date
and Expires
and everything now works perfectly.
The PH--
in the haproxy logs revealed the problem in the end. The HTTP response headers were invalid. I just got rid of Date
and Expires
and everything now works perfectly.
answered Feb 11 '17 at 14:43
djskinnerdjskinner
11115
11115
2
Expires: Sat, 11 Feb 2017 12:15:07GMT
lacks a space beforeGMT
. Not sure if that was it, but it seems possible.
– Michael - sqlbot
Feb 11 '17 at 17:34
add a comment |
2
Expires: Sat, 11 Feb 2017 12:15:07GMT
lacks a space beforeGMT
. Not sure if that was it, but it seems possible.
– Michael - sqlbot
Feb 11 '17 at 17:34
2
2
Expires: Sat, 11 Feb 2017 12:15:07GMT
lacks a space before GMT
. Not sure if that was it, but it seems possible.– Michael - sqlbot
Feb 11 '17 at 17:34
Expires: Sat, 11 Feb 2017 12:15:07GMT
lacks a space before GMT
. Not sure if that was it, but it seems possible.– Michael - sqlbot
Feb 11 '17 at 17:34
add a comment |
Thanks for contributing an answer to Server Fault!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f831997%2fhaproxy-nginx-fast-cgi-epoll-wait-reported-that-client-prematurely-clos%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown