logo
Apache Lounge
Webmasters

 

About Forum Index Downloads Search Register Log in RSS X


Keep Server Online

If you find the Apache Lounge, the downloads and overall help useful, please express your satisfaction with a donation.

or

Bitcoin

A donation makes a contribution towards the costs, the time and effort that's going in this site and building.

Thank You! Steffen

Your donations will help to keep this site alive and well, and continuing building binaries. Apache Lounge is not sponsored.
Post new topic   Forum Index -> Apache View previous topic :: View next topic
Reply to topic   Topic: A limit of one concurrent connection ? Found a weird error
Author
bain19



Joined: 23 Jul 2015
Posts: 8

PostPosted: Thu 23 Jul '15 17:31    Post subject: A limit of one concurrent connection ? Found a weird error Reply with quote

Can anyone tell me what I am doing wrong, when i unpack httpd-2.4.16-win64-VC14.zip to C:\ and run c:\apache24\bin\httpd.exe -X using the default configuration i am allowed only one concurrent connection.

To test this I have two workstations.

On workstation one I connect to the webserver using Internet explorer and receive the "It works!" default page


On workstation two I connect to the webserver using telnet to hold the connection open. This is the command I run:

Code:
telnet myserver 80


If I go back to workstation one and refresh the page internet explorer will time out.

If I kill telnet running on workstation two the page will begin to load again on workstation one.

I have tested this with both Windows 7 and Windows Server 2008 R2.

Has anyone seen this before, how do I resolve this issue ?
Back to top
Steffen
Moderator


Joined: 15 Oct 2005
Posts: 3056
Location: Hilversum, NL, EU

PostPosted: Thu 23 Jul '15 17:45    Post subject: Reply with quote

Any warning/error in the apache error log or windows event viewer ?

Last edited by Steffen on Thu 23 Jul '15 19:05; edited 1 time in total
Back to top
bain19



Joined: 23 Jul 2015
Posts: 8

PostPosted: Thu 23 Jul '15 17:55    Post subject: Reply with quote

nothing in the error logs, even with the loglevel set to debug ... I see my browser session once the page loads in the access log though
Back to top
Steffen
Moderator


Joined: 15 Oct 2005
Posts: 3056
Location: Hilversum, NL, EU

PostPosted: Thu 23 Jul '15 19:05    Post subject: Reply with quote

What do you want to achieve ?

What do you mean with : ...i am allowed only one concurrent connection... ?
Back to top
bain19



Joined: 23 Jul 2015
Posts: 8

PostPosted: Thu 23 Jul '15 19:25    Post subject: Reply with quote

Well to me this seems like quite an issue, how can one user block request for an entire webserver using a single command/connection, other Apache webservers don't seem to suffer from the same issue/limitation.

As far as i understand one net session shouldn't be able to block the rest of the web sessions accessing the server, no?

As to your question
Quote:
What do you want to achieve ?

i want my apache webserver to continue to serve pages, regardless if a single user decides to test my server with openssl s_client or telnet
Back to top
Steffen
Moderator


Joined: 15 Oct 2005
Posts: 3056
Location: Hilversum, NL, EU

PostPosted: Thu 23 Jul '15 20:05    Post subject: Reply with quote

Did a Telnet to my Apache 2.4.16 here with my iPhone on the same LAN.

Did not saw your issue.
Back to top
bain19



Joined: 23 Jul 2015
Posts: 8

PostPosted: Thu 30 Jul '15 17:24    Post subject: Reply with quote

I am runnign these commands from Windows 7 and accessing the site from Windows7(using IE and Chrome).

I still get the issue even if I change versions of Apache.
Back to top
James Blond
Moderator


Joined: 19 Jan 2006
Posts: 7294
Location: Germany, Next to Hamburg

PostPosted: Thu 30 Jul '15 17:33    Post subject: Reply with quote

The -X creates only one thread for debuging, so only one connection is allowed. So you might wanna start apache without -X or make sure that no other process accesses your server.
Back to top
bain19



Joined: 23 Jul 2015
Posts: 8

PostPosted: Thu 30 Jul '15 17:56    Post subject: Reply with quote

In my testing I have tried with without -X and I have also tested while running apache as a service.

one thing I did notice is if I ran the command

Code:
telnet myserver 80


webrequests to https://myserver still function and the same applied vice versa. Running the command:

Code:
telnet myserver 443


would allow http://myserver to still function but https would now fail.
Back to top
bain19



Joined: 23 Jul 2015
Posts: 8

PostPosted: Thu 30 Jul '15 18:09    Post subject: Reply with quote

If i run wireshark on the "server" and at the same time run the telnet command on workstation one
Code:
telnet myserver 80


When workstation two connects to http://myserver

I see this on the server

http://i.imgur.com/kPNMJbN.jpg

so a request is making it to the machine but a reply is never sent

Its not until I close the telnet connection that I see the response sent to workstation two

http://i.imgur.com/4NPGQcD.jpg

In the screenshots .39 is the workstation two and .36 is the server
Back to top
bain19



Joined: 23 Jul 2015
Posts: 8

PostPosted: Thu 30 Jul '15 19:53    Post subject: Reply with quote

Did a quick test and changing the accept filters seems to resolve the issue.

I added these two lines to my httpd.conf and its no longer an issue:

Code:
AcceptFilter https none
AcceptFilter http none


If others are able to recreate the issue people may want to add it to the default httpd.conf
Back to top
admin
Site Admin


Joined: 15 Oct 2005
Posts: 677

PostPosted: Sat 01 Aug '15 10:39    Post subject: Reply with quote

Thanks.

Did you had Asynchronous AcceptEx in the error.log ?

With every announce we note: When you have hangs, slow traffic and/or when having in your log entries like Asynchronous AcceptEx failed. You can try the following settings:

AcceptFilter http none
AcceptFilter https none
EnableSendfile off
EnableMMAP off


The dev's discussed this million times for years, even Microsoft had a look at the Acceptfilter issue, but no solution.

Looks like you have found a situation/case that can give more info on the issue.
Back to top
bain19



Joined: 23 Jul 2015
Posts: 8

PostPosted: Tue 18 Aug '15 14:19    Post subject: Reply with quote

admin wrote:

Did you had Asynchronous AcceptEx in the error.log ?


I saw nothing in the logs when I was intentionally causing the situation.

It was all just a guess.
Back to top


Reply to topic   Topic: A limit of one concurrent connection ? Found a weird error View previous topic :: View next topic
Post new topic   Forum Index -> Apache