heiko-barth.de

// Freitag

Nginx überholt IIS

Ich habe es ja bereits geahnt 1), nun haben es andere bestätigt: Microsofts Webserver IIS ist auf Platz 3 abgerutscht. Auf Platz 1 ist mit Abstand nach wie vor Apache, gefolgt nun von Nginx.

HTTP Status Cats

Und da wir gerade beim Thema Webserver sind, passend dazu die HTTP Status Cats 8-)

207 Multi-Status

401 Unauthorized

406 Not Acceptable

The Films of Steven Spielberg

Awesome!

foo/bar

1)
auch wenn 100 Server nicht ganz repräsentativ sind

// Server-Quiz

Ich habe 100 populäre Webserver gefragt: „Was für einen HTTP-Dienst setzt du ein?”

Weiter wollte ich wissen: „Bietest du auch eine verschlüsselte Kommunikation (HTTPS) an?”

Kurze Erläuterung für die „Geeks“:

  • Ja: erfolgreicher TCP-Verbindungsaufbau
  • Nein: TCP-Flag RST-ACK
  • kein Kommentar: Keine Reaktion auf TCP-SYN

Outtakes

BTW: Job-Börsen sind out. Wer heute etwas auf sich hält, sucht seine Mitarbeiter über HTTP-Header 8-)

Folgendes fiel mir bei der Auswertung der Server-Antworten ins Auge:

X-hacker: If you're reading this, you should visit automattic.com/jobs and apply to join the fun, mention this header.

Hier noch weitere Kuriositäten aus der HTTP-Header-Welt, die ich hier gefunden habe:

X-Disclaimer: All Your Base Are Belong To Us
X-Pizza-Phone: 961.1.351904
X-Disclaimer: The local sysadmins have *nothing* to do with the content of this server.
X-Subliminal: You want to buy as many games as you can afford
X-Cotton: The Fabric of Our Lives
Veto: Usage of server response for statistics and advertising is disagreed!
Mickey-Mouse: Does_Not_Live_Here
Limerick: There was a young fellow named Fisher
Limerick: Who was fishing for fish in a fissure,
Limerick: When a cod, with a grin,
Limerick: Pulled the fisherman in
Limerick: Now they're fishing the fissure for Fisher.
X-Powered-By: Intravenous Caffeine Drips
X-kluged-by: Nick, Mic, Ash, Andy
X-munged-by: The powers that be
X-Sanity-Provided-By: Ashleigh
X-Stone-Cold-Steve-Austin: And that's the bottom line, cause Stone Cold says so.
X-Mick-Foley: Have a nice day!
X-Ric-Flair: To be the man, WHOOO!, you've got to beat the man.
X-Rock: If you smell what The Rock is cooking.
X-Booker-T: Can you dig it, SUCKAAAA?
X-Kurt-Angle: It's true, it's DAMN true.
X-Hurricane: Stand Back! There's a Hurricane Coming Through!
X-Kane: FREAKS RULE!
Owned And Operted By FSU Computer Club: 31137
X-You-Are-Owned-By: morris
TEXPOLICE: LAW_ENFORCEMENTS_FINEST
X-Side: : WESTSIDE-FOR-LIFE
X-beliebig: Dieser Header dient der allgemeinen Verwirrung =:)
X-Favourite-Animal: Mouse

// DokuWiki On A Stick

Nicht jeder möchte/hat die Möglichkeit, DokuWiki2) auf einem Webserver im Internet zu betreiben. Um trotzdem ständig Zugriff auf seine Wissenssammlung zu haben, kann man DokuWiki ebenfalls mit einem lokalen Webserver (microapache) benutzen, z.B. gespeichert auf einem USB-Stick. Ich habe eine kleine Anleitung zusammen gestellt, wie das unter Windows erledigt werden kann. Weitere Infos zu dem Thema und komplett fertig konfigurierte Pakete gibt es hier.

Anleitung

So soll anschließend die Verzeichnisstruktur aussehen:

USB-Stick
└── DokuWiki
    ├── conf
    │   └── Apache Konfiguration
    ├── dokuwiki
    │   └── DokuWiki Dateien
    ├── logs
    │   └── Apache Log Dateien
    ├── modules
    │   └── Apache Module
    ├── MicroApache Dateien
    ├── PHP Dateien
    └── Start/Stop Skripte
  1. Ein neues Verzeichnis (z.B. DokuWiki) auf dem USB-Stick erstellen
  2. MicroApache (2.0.x; no PHP) herunterladen und komplett in das Verzeichnis entpacken
  3. PHP (VC6; thread safe) herunterladen
    1. Folgende Dateien in das Verzeichnis entpacken: php5apache2.dll, php5ts.dll, php.ini, libeay32.dll, ssleay32.dll + Erweiterungen aus dem ext-Verzeichnis: php_gd2.dll, php_mbstring.dll, php_openssl.dll3) und php_sqlite.dll4)
  4. DokuWiki herunterladen und in das Verzeichnis entpacken oder eine bestehende Installation kopieren
  5. Konfigurationen anpassen:

conf/httpd.conf:

Listen 127.0.0.1:8800
ServerName DokuWiki
ServerRoot ./
DocumentRoot ./dokuwiki
ServerAdmin webmaster@localhost
Win32DisableAcceptEx On
LoadModule access_module modules/mod_access.dll
LoadModule dir_module modules/mod_dir.dll
LoadModule mime_module modules/mod_mime.dll
LoadModule rewrite_module modules/mod_rewrite.dll
LoadModule php5_module "php5apache2.dll"
AddType application/x-httpd-php .php .php3
AcceptPathInfo off
KeepAlive on
KeepAliveTimeout 15
ServerTokens Prod
TimeOut 30
DirectoryIndex index.php

3)
optional, wird für HTTPS Zugriffe benötigt
4)
optional, wird z.B. vom blogtng Plugin benötigt

// Ferien + Apache Bug = Evil

Auf de Apache Mailingliste wurde gestern vor einem Fehler in allen aktuellen Apache Webserver Versionen (1.3.x und 2.x) gewarnt. Der Fehler beruht auf einer fehlerhaften Behandlung des Range-Header in einem HTTP-Request. So kann durch sehr geringen Aufwand eine sehr hohe Systemlast erzeugt werden, bis hin zum Stillstand des Systems.

Ein Bugfix soll in den nächsten 48 Stunden erscheinen. Bis dahin kann man als workaround den Range-Header via mod_header oder mod_rewrite deaktivieren. Dies verhindert u.a. die Möglichkeit, Downloads zu pausieren und erneut zu starten.

mod_rewrite workaround

# Reject request when more than 5 ranges in the Range: header.
# CVE-2011-3192
#
RewriteEngine on
RewriteCond %{HTTP:range} !(^bytes=[^,]+(,[^,]+){0,4}$|^$)
RewriteRule .* - [F]

Da aktuell noch Ferienzeit ist und bereits ein 1-Click-Tool für Skriptkiddies existiert, dürfte das Wochenende für so manchen Sysadmin kein Vergnügen werden. :-\

Web 2.0



RSS   RSS abonieren

Github   Github
QR Code