Toon posts:

Apache reageert niet tijdens en na Remote Desktop sessie

Pagina: 1
Acties:

Verwijderd

Topicstarter
Beste mede tweakers,

Ik draai al jaren gelukkig en zonder problemen een kleine webserver (Apache/2.2.3 (Win32) PHP/5.2.0 configured) op mijn winXP SP 2 (legaal) met alle updates en patches.
Sinds ik Remote Desktop Connection van Micro$soft gebruik, schijnt de request te blijven hangen.
Zodra ik Apache stop, krijg je keurig een 404 te zien.

In de Apache logs lees ik: (OS 121)The semaphore timeout period has
expired. : winnt_accept: Asynchronous AcceptEx failed.

Apache schrijft: AcceptEx() is a Microsoft WinSock v2 API that provides some performance improvements over the use of the BSD style accept() API in certain circumstances. Some popular Windows products, typically virus scanning or virtual private network packages, have bugs that interfere with the proper operation of AcceptEx(). http://httpd.apache.org/docs/2.2/mod/mpm_winnt.html

geprobeerd, helpt niet.

Verder heb ik geen IIS geinstalleerd, doe ik dus niet aan web-rdc en is mijn router correct geconfigureerd.

Daarnaast gebruik ik McAfee Security Center (Legaal via het MKBedrijfje van mijn pappie) en staan alle pakketten aan.
Uitzetten van zowel virusscanner en firewall baten niet.

Tevens draait mijn Apache server via een service en start automatisch op.

Waarom werkt mijn server niet tijdens en na een RDC sessie niet en hoe kan ik het probleem verhelpen?

Bij normaal gebruik van mijn 'server' (dus als ik niet Remote ge-connect ben), werkt de server prima.

edit:
Let nietop mijn typo's - zekers niet in de titel :P

[ Voor 2% gewijzigd door Verwijderd op 06-07-2007 22:59 . Reden: typo in titel ]


Verwijderd

Topicstarter
BTW: mijn rdc gaat via poort 3389, de standaard poort.
Netstat geeft ook aan dat apache op poort 80 luistert, en bij requests bezig is met poort 80.

  • GlowMouse
  • Registratie: November 2002
  • Niet online
Nadat je Win32DisableAcceptEx toevoegde, welke fout kwam er toen in httpd.conf? Komt er dezelfde melding, dan heb je de verkeerde httpd.conf te pakken.
Zodra ik Apache stop, krijg je keurig een 404 te zien.
Je krijgt waarschijnlijk een andere melding. 404 in een status die teruggegeven wordt door de webserver wanneer het bestand niet gevonden wordt. Zonder webserver geen statuscode. Je zult waarschijnlijk een 'kan geen verbinding maken' melding gekregen hebben.

Er zijn trouwens drie regels waarvan wordt gezegd dat Apache er onder Windows beter/bugvrijer van gaat lopen:
EnableMMAP off
EnableSendfile off
Win32DisableAcceptEx

[ Voor 15% gewijzigd door GlowMouse op 06-07-2007 23:12 ]


Verwijderd

Topicstarter
GlowMouse schreef op vrijdag 06 juli 2007 @ 23:07:
Nadat je Win32DisableAcceptEx toevoegde, welke fout kwam er toen in httpd.conf? Komt er dezelfde melding, dan heb je de verkeerde httpd.conf te pakken.
Greep uit de log:
[Fri Jul 06 22:47:32 2007] [notice] Apache/2.2.3 (Win32) PHP/5.2.0 configured -- resuming normal operations
[Fri Jul 06 22:47:32 2007] [notice] Server built: Jul 27 2006 16:49:49
[Fri Jul 06 22:47:32 2007] [notice] Parent: Created child process 1724
[Fri Jul 06 22:47:32 2007] [notice] Disabled use of AcceptEx() WinSock2 API
[Fri Jul 06 22:47:32 2007] [notice] Child 1724: Child process is running
[Fri Jul 06 22:47:32 2007] [notice] Child 1724: Acquired the start mutex.
[Fri Jul 06 22:47:32 2007] [notice] Child 1724: Starting 250 worker threads.
[Fri Jul 06 22:47:33 2007] [notice] Child 1724: Listening on port 80.
[Fri Jul 06 22:48:25 2007] [notice] Child 448: Terminating 11 threads that failed to exit.
[Fri Jul 06 23:02:46 2007] [notice] Parent: Received shutdown signal -- Shutting down the server.
[Fri Jul 06 23:02:46 2007] [notice] Child 1724: Exit event signaled. Child process is ending.
[Fri Jul 06 23:02:47 2007] [notice] Child 1724: Released the start mutex
[Fri Jul 06 23:02:47 2007] [notice] Child 1724: Waiting for 250 worker threads to exit.
[Fri Jul 06 23:03:16 2007] [notice] Parent: Forcing termination of child process 328
[Fri Jul 06 23:03:43 2007] [notice] Apache/2.2.3 (Win32) PHP/5.2.0 configured -- resuming normal operations
[Fri Jul 06 23:03:43 2007] [notice] Server built: Jul 27 2006 16:49:49
[Fri Jul 06 23:03:43 2007] [notice] Parent: Created child process 6612
[Fri Jul 06 23:03:43 2007] [notice] Child 6612: Child process is running
[Fri Jul 06 23:03:43 2007] [notice] Child 6612: Acquired the start mutex.
[Fri Jul 06 23:03:43 2007] [notice] Child 6612: Starting 250 worker threads.
[Fri Jul 06 23:03:43 2007] [notice] Child 6612: Starting thread to listen on port 80.
Je krijgt waarschijnlijk een andere melding. 404 in een status die teruggegeven wordt door de webserver wanneer het bestand niet gevonden wordt. Zonder webserver geen statuscode. Je zult waarschijnlijk een 'kan geen verbinding maken' melding gekregen hebben.
Helemaal gelijk, ik ging een beetje te snel ;) Het moet inderdaad zijn: kan geen verbinding maken.
Er zijn trouwens drie regels waarvan wordt gezegd dat Apache er onder Windows beter/bugvrijer van gaat lopen:
[...]
Helemaal waar: ik heb de regel 'Win32DisableAcceptEx' boven de ge-uncommente regels 'EnableMMAP off' en
'EnableSendfile off' gezet. Evenkijken of dit nog veel uitmaakt...

Verwijderd

Topicstarter
Regels omgedraaid, Log ziet er nog steeds hetzelfde uit:

[Fri Jul 06 23:24:53 2007] [notice] Apache/2.2.3 (Win32) PHP/5.2.0 configured -- resuming normal operations
[Fri Jul 06 23:24:53 2007] [notice] Server built: Jul 27 2006 16:49:49
[Fri Jul 06 23:24:53 2007] [notice] Parent: Created child process 7868
[Fri Jul 06 23:24:53 2007] [notice] Disabled use of AcceptEx() WinSock2 API
[Fri Jul 06 23:24:53 2007] [notice] Child 7868: Child process is running
[Fri Jul 06 23:24:53 2007] [notice] Child 7868: Acquired the start mutex.
[Fri Jul 06 23:24:53 2007] [notice] Child 7868: Starting 250 worker threads.
[Fri Jul 06 23:24:53 2007] [notice] Child 7868: Listening on port 80.


Wellicht zit het hem helemaal neit in Apache, maar aangezien er wel drukte op poort 80 heerst en de request bij apache 'schijnt' aan te komen (drukte op poort 80), neem ik aan dat het iets temaken eheft met Apache. Echter: het probleem komt _ALLEEN_ voor wanneer ik remote ingelogd ben op mijn 'server'.

  • GlowMouse
  • Registratie: November 2002
  • Niet online
Helemaal niets in de Apache logfiles dus terwijl het probleem optreedt (die notice hieronder krijg je bij opstarten van Apache en is normaal, deze komt ook in de systemlog terug). Is de webserver lokaal wel te bereiken via localhost?

Staat er in de logboeken van WinXP misschien nog iets dat relevant is? Oa te vinden via rechtsklik op Deze computer, beheren, logboeken.

[ Voor 16% gewijzigd door GlowMouse op 07-07-2007 00:16 ]


Verwijderd

Topicstarter
Mijn servertje staat momenteel in Delft en ik ben alles behalve fysiek in de buurt. Via RDC kan ik 'lokaal' de server ook niet benaderen via localhost, 127.0.0.1 en %PC_NAAM%.

In de logs vind ik alleen een error zodra ik AcceptEx() uit geschakeld heb: "The Apache service named reported the following error:
>>> [Fri Jul 06 22:46:19 2007] [notice] Disabled use of AcceptEx() WinSock2 API"
.

Verwijderd

Topicstarter
*kick* echt niemand hetzeldfe probleem?

Sterker nog: iemand een oplossing? Ik werk namelijk vaak remote, en mijn server moet wel in de lucht blijven... elke (zinnige) suggestie is welkom!

  • Xandrios
  • Registratie: Februari 2001
  • Laatst online: 18-03 11:08
Titel edit.

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Gewoon ff een vraagje, maar is dit altijd als jij gaat rdp'en of alleen als je apache opnieuw opstart tijdens het rdpen?

Want het lijkt mij dat je bij restarten ( handmatig ??? ) een andere config pakt dan wanneer hij als service gestart wordt. Voorbeeldje vanuit je logs waar de 1e x keer in staat dat hij AcceptEx() disabled, maar de 2e keer opstarten zie ik dit er niet bijstaan.

  • Comgenie
  • Registratie: Oktober 2005
  • Laatst online: 14-03 21:57

Comgenie

Soms heb je dat

is het niet zo dat wanneer je via RDP gaat inloggen, dat alle programma's van die gebruiker starten, misschien word apache 2 keer gestart daardoor? Of iets anders zoals de apachemonitor die rare dingen gaat doen uit zichzelf :'). Dat lijkt me de meest voorhandligggende verklaring. Ik zou eens gaan kijken welke processen worden opgestart wanneer je via remote desktop inlogt. En of apache al gaat flippen *voordat* je bent ingelogt op remote desktop (maar al wel bent verbonden).

No animals were harmed in the making of this comment.


Verwijderd

Topicstarter
Gomez12 schreef op zondag 08 juli 2007 @ 18:54:
Gewoon ff een vraagje, maar is dit altijd als jij gaat rdp'en of alleen als je apache opnieuw opstart tijdens het rdpen?
_ALTIJD_ als ik ga RDP-en, apache draait dus al. Opnieuw opstarten van apache haalt niets uit.
Want het lijkt mij dat je bij restarten ( handmatig ??? ) een andere config pakt dan wanneer hij als service gestart wordt. Voorbeeldje vanuit je logs waar de 1e x keer in staat dat hij AcceptEx() disabled, maar de 2e keer opstarten zie ik dit er niet bijstaan.
De AcceptEx() heb ik uitgezet om te kijken of het ook werkelijk daar aan lag. Het verhielp niets, dus dat weer terug gezet. Onder normale omstandigheden (wanneer ik dus niet ingelogd ben) heb ik daar nl geen last van.
Comgenie schreef op zondag 08 juli 2007 @ 19:04:
is het niet zo dat wanneer je via RDP gaat inloggen, dat alle programma's van die gebruiker starten, misschien word apache 2 keer gestart daardoor?
nope... Apache start als service, wanneer ik inlog start er niet (nog) een instance van apache (daarom draait het als service).
Of iets anders zoals de apachemonitor die rare dingen gaat doen uit zichzelf :'). Dat lijkt me de meest voorhandligggende verklaring.
En waarom is dat de meest voorhandliggende verklaring? Een monitor lijkt mij gewoon je processen te 'monitoren' en dus niet vanuit zichzelf iets op te starten tijdens een RDP sessie.
Ik zou eens gaan kijken welke processen worden opgestart wanneer je via remote desktop inlogt. En of apache al gaat flippen *voordat* je bent ingelogt op remote desktop (maar al wel bent verbonden).
Verwijderd schreef op vrijdag 06 juli 2007 @ 23:01:
BTW: mijn rdc gaat via poort 3389, de standaard poort.
Netstat geeft ook aan dat apache op poort 80 luistert, en bij requests bezig is met poort 80.
Ter verheldering: Apache luistert *altijd* op poort 80. Of ik nu een RDP aan og uit heb staan.
Er draait ook altijd minimaal één httpd.exe op mijn achtergrond en bij normaal gebruik meestal 2 (ik neem aan dat de eerste luistert en de ander 'werkt').
Er is geen enkel verschil in processen als ik kijk naar apache en wel of niet RDP.
Apache is de enige die op poort 80 zit te luisteren.

  • Comgenie
  • Registratie: Oktober 2005
  • Laatst online: 14-03 21:57

Comgenie

Soms heb je dat

Verwijderd schreef op dinsdag 10 juli 2007 @ 11:43:

En waarom is dat de meest voorhandliggende verklaring? Een monitor lijkt mij gewoon je processen te 'monitoren' en dus niet vanuit zichzelf iets op te starten tijdens een RDP sessie.
Veel slechte personelijke evaring denkik :') . Soms wilt die wel meer doen dan alleen 'Monitoren'.


Maar zoals ik al vroeg, Gaat apache ook al raar doen wanneer je al wel bent verbonden via RDP maar nog niet ingelogt op het systeem?


Verder kun je als alternatief mocht het probleem niet oplosbaar zijn een vnc server installeren. Zodat je RDP kan uitschakelen en er niks meer mee te maken hoeft te hebben ;).

No animals were harmed in the making of this comment.

Pagina: 1