Hosting problemen met apache(?)

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • biggydeen2
  • Registratie: Augustus 2009
  • Laatst online: 27-08 20:38
Beste tweakers,

Niet helemaal duidelijk of dit het juiste forumgedeelte is maar ik heb een vraag m.b.t.. hosting via apache.

Ik host een website met daarachter een database. Het probleem is als volgt:

Zodra ik via mijn eigen lokale thuisnetwerk naar de website toe ga via een pc of laptop ondervind ik geen problemen. Ga ik ondertussen naar de website via mobiel (wifi) dan krijg ik op mijn pc en laptop een timeout:

Deze webpagina is niet beschikbaar, ERR_CONNECTION_TIMED_OUT

Zodra de pagina op mijn mobiel geladen is werkt de pagina op de pc en laptop ook weer. Ik kan het probleem alleen reproduceren met mijn mobiel. Ik heb mijn pc en 2 laptops naast elkaar staan en daarmee kan ik de website prima mee openen en doorheen browsen. Zodra ik via mobiel naar de website toe ga geven de 2 laptops en pc bovenstaande time out.

Dit probleem speelt niet alleen op mijn lokale netwerk maar ook op andere netwerken. Zodra iemand via een mobiel (maar soms vermoedelijk ook laptop) naar de site gaat krijgt de rest van de mensen op het zelfde netwerk een timeout. Ik zelf kan het alleen reproduceren zodra ik via mobiel naar de website toe ga.

Mijn webserver bestaat uit Centos + apache plus een backend met mysql.

Wat heb ik geprobeerd:

- Apache settings volledig doorgenomen
- Verscheidene Logs bekeken
- IPtables op de webserver uitgeschakeld

Ik kan het probleem echter niet achterhalen. Het lijkt er op dat zodra ik via mobiel ga er een lock staat op dat betreffende ip adres en dat al het verkeer dat vervolgens via dat ip adres komt geblokkeerd wordt. Het vreemde is dat ik dit probleem niet heb zodra ik via pc of laptop ga maar alleen met mobiel. Het staat los van mijn netwerk/router configuratie aangezien andere netwerken hetzelfde probleem voorkomt.

Heeft iemand een idee in welke richting ik dit moet gaan zoeken?

Alvast bedankt!

p.s. Ik heb bewust de url van de website niet geplaatst, mocht dat nodig zijn hoor ik dat graag.

Alle reacties


Acties:
  • 0 Henk 'm!

Verwijderd

Iets meer info a.u.b.?

In welk netwerk host je de website?
Is het een virtuele machine binnen een webservice?

Mogen we de output zien van
code:
1
iptables -L

[ Voor 25% gewijzigd door Verwijderd op 03-03-2016 11:38 ]


Acties:
  • 0 Henk 'm!

  • biggydeen2
  • Registratie: Augustus 2009
  • Laatst online: 27-08 20:38
"In welk netwerk host je de website?" Hoe bedoel je dat precies?

Het is een virtuele webserver (in de cloud) die aan het internet hangt.

iptables is niet actief, die heb ik tijdelijk uitgeschakeld. Alles staat dus op accept.

Acties:
  • 0 Henk 'm!

Verwijderd

Wellicht Amazon of Azure o.i.d?

Acties:
  • 0 Henk 'm!

  • biggydeen2
  • Registratie: Augustus 2009
  • Laatst online: 27-08 20:38

Acties:
  • 0 Henk 'm!

  • biggydeen2
  • Registratie: Augustus 2009
  • Laatst online: 27-08 20:38
Nog steeds geen oplossing gevonden. Inmiddels vele zaken onderzocht. Hierbij een update:

- Als ik een TOR browser installeer op mijn mobiel dan komt het probleem niet voor.

Iemand met bijna hetzelfde probleem:

https://www.digitalocean....owsers-but-not-in-another

Acties:
  • 0 Henk 'm!

  • DJVG
  • Registratie: April 2006
  • Laatst online: 07-10 16:29

DJVG

Gewoon DJVG

Heb je al even met tcpdump gekeken of verbindingen wel binnenkomen e.d?

Als iedereen aan zichzelf denkt, word er aan iedereen gedacht!


Acties:
  • 0 Henk 'm!

  • biggydeen2
  • Registratie: Augustus 2009
  • Laatst online: 27-08 20:38
DJVG schreef op woensdag 16 maart 2016 @ 13:13:
Heb je al even met tcpdump gekeken of verbindingen wel binnenkomen e.d?
Tijdens de timeout zie ik geen enkel verkeer binnenkomen via TCPdump. Ook in de apachelogs op de hoogste debug levels zie ik tijdens de timeout geen errors binnenkomen. FirewallD (iptables) uitschakelen heeft ook geen effect.

Het lijkt erop dat verkeer op het moment van de timeout dus helemaal niet binnenkomt op de server. Het vreemde is dat dit alleen gebeurt zodra ik via mobiel connectie maak. Terwijl als ik via pc en 3 laptops connectie maak geen problemen ondervind. Ga ik via mobiel geven zowel de pc als alle laptops een timeout voor +-30 sec. Het probleem komt alleen voor als ik op hetzelfde netwerk zit. Ook andere mensen op andere netwerken ondervinden dit probleem.

Gebruik ik een TOR browser op mijn mobile dan werkt alles prima. Het lijkt dus te maken te hebben met meerdere connecties vanaf 1 ip.

[ Voor 20% gewijzigd door biggydeen2 op 17-03-2016 09:55 ]


Acties:
  • 0 Henk 'm!

  • DJVG
  • Registratie: April 2006
  • Laatst online: 07-10 16:29

DJVG

Gewoon DJVG

biggydeen2 schreef op donderdag 17 maart 2016 @ 09:53:
[...]


Tijdens de timeout zie ik geen enkel verkeer binnenkomen via TCPdump. Ook in de apachelogs op de hoogste debug levels zie ik tijdens de timeout geen errors binnenkomen. FirewallD (iptables) uitschakelen heeft ook geen effect.

Het lijkt erop dat verkeer op het moment van de timeout dus helemaal niet binnenkomt op de server. Het vreemde is dat dit alleen gebeurt zodra ik via mobiel connectie maak. Terwijl als ik via pc en 3 laptops connectie maak geen problemen ondervind. Ga ik via mobiel geven zowel de pc als alle laptops een timeout voor +-30 sec. Het probleem komt alleen voor als ik op hetzelfde netwerk zit. Ook andere mensen op andere netwerken ondervinden dit probleem.

Gebruik ik een TOR browser op mijn mobile dan werkt alles prima. Het lijkt dus te maken te hebben met meerdere connecties vanaf 1 ip.
Als het verkeer dus niet binnenkomt op je server moet het daarvoor gefilterd worden, vraag is dus hoe en waar. Heb je je bevindingen al aan CloudVPS voorgelegd?

Als iedereen aan zichzelf denkt, word er aan iedereen gedacht!


Acties:
  • 0 Henk 'm!

  • biggydeen2
  • Registratie: Augustus 2009
  • Laatst online: 27-08 20:38
DJVG schreef op donderdag 17 maart 2016 @ 11:42:
[...]
Als het verkeer dus niet binnenkomt op je server moet het daarvoor gefilterd worden, vraag is dus hoe en waar. Heb je je bevindingen al aan CloudVPS voorgelegd?
Ik heb het probleem bij CloudVPS neergelegd, ze zijn nog in onderzoek. Alleen aangezien ik ook iemand anders heb gevonden met hetzelfde probleem (zie eerder genoemde link) vraag ik mij af of het toch niet in apache/server zit.

Acties:
  • 0 Henk 'm!

Verwijderd

Kijk eens naar je /etc/apache2/apache2.conf or /etc/httpd/httpd.conf

Met name je MaxClients en MaxRequestsPerChild.

Voorbeeld:

code:
1
2
3
4
5
6
7
8
9
10
11
12
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_prefork_module>
    StartServers        5
    MinSpareServers     5
    MaxSpareServers     10
    MaxClients          150
    MaxRequestsPerChild 0
</IfModule>


Kijk ook eens naar hoeveel RAM er beschikbaar is voor Apache? Iedere aanvraag naar Apache opent ook een verbinding naar MySQL. Neemt je vraag naar Apache toe dan neemt ook de vraag naar MySQL toe en daarmee de behoefte aan toegewezen geheugen.

Er kan ook nog iets op IP niveau gebeuren. Verbinden je laptops op IPv4 en je telefoon op IPv6 wellicht?

[ Voor 3% gewijzigd door Verwijderd op 18-03-2016 08:05 ]


Acties:
  • +1 Henk 'm!

  • biggydeen2
  • Registratie: Augustus 2009
  • Laatst online: 27-08 20:38
Dank voor de tip.

Deze settings hebben we al meedere malen bekeken en zijn al geoptimaliseerd en getest. Maar daarnaast kan dit het probleem niet zijn aangezien het alleen voorkomt zodra ik via mijn mobile connectie maak. Het probleem zou dan ook voor moeten komen met mijn pc en 3 laptops. Daarnaast kunnen andere gebruikers ook nog connecten zonder problemen.

IPv6 is uitgeschakeld op de webserver en wordt (nog) niet ondersteund door CloudVPS. Dat kan het dus ook niet zijn.

Maar goed nieuws, het probleem is opgelost. Het probleem was de volgende setting in /etc/sysctl.conf:

net.ipv4.tcp_tw_recycle = 1

Deze setting staat blijkbaar standaard op 1 in de config. Op een nieuw ingespoelde server (CentOS7) staat deze setting bij mij ook op 1. En wat blijkt:

"However, as stated by tcp(7) manual page, the net.ipv4.tcp_tw_recycle option is quite problematic for public-facing servers as it won’t handle connections from two different computers behind the same NAT device, which is a problem hard to detect and waiting to bite you:"

Meer info:

http://vincent.bernat.im/...ime-wait-state-linux.html

Op de webserver maak ik gebruik van NAT en dat veroorzaakt het probleem icm deze setting. Ik vraag mij af of deze setting standaard op 1 staat in een CentOS7 image of dat CloudVPS deze image zelf heft getweaked.

Gebruik je een webserver icm met NAT (ipv4) moet deze setting dus ten allen tijden uitstaan. Er zijn wel een aantal andere mogelijkheden, zie daarvoor bovenstaande url.

Kan ik mijzelf ook aanmerken als beste antwoord? :)
Pagina: 1