Qgelm

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
schulung:http_real_server [2021/12/06 23:01] Thomasschulung:http_real_server [2022/01/17 11:26] (aktuell) Thomas
Zeile 14: Zeile 14:
 Nach diesen Vorbemerkungen nun zur Arbeitsweise eines ausgewachsenen statischen HTTP-Servers: Nach diesen Vorbemerkungen nun zur Arbeitsweise eines ausgewachsenen statischen HTTP-Servers:
  
-  + Ich verwende hier als Server-Software den //nginx//. Das ist neben //apache// und einigen anderen ein ziemlich weit verbreitetes Programm. Die Konfiguration des //nginx// für unser recht simples Beispiel (statischer, unverschlüsselter Webserver unter der Adresse ''http://schulung.qgelm.de'') sieht so aus: 
 + 
 +<code> 
 +http { 
 +  server { 
 +      listen 80; 
 +      listen  [::]:80; 
 +     
 +      server_name schulung.qgelm.de; 
 +      root       /home/thomas/Schulung/html/; 
 +      index      index.html; 
 + 
 +      # This will deny access to any hidden file (beginning with a .period) 
 +      location ~ /\. { deny  all; } 
 +  }  
 +
 +</code>  
 + 
 +Das meiste sollte nach dem bereits Erlernten recht selbst erklärend sein: Der http-Server, der auf den Namen ''schulung'' hört und auf dem für http gebräuchlichen TCP Port 80 lauscht, liefert angefraget Ressourcen unterhalb des //root// Verzeichnisses aus. Wenn die Ressource nur ''/'' lauten sollte, dann wird nach einer Datei ''index.html'' in dem jeweiligen Verzeichnis geschaut. Und als kleines Sicherheitsfeature werden Dateien, die mit einem "." beginnen vom Server ignoriert, also nicht ausgeliefert. 
 + 
 +In dem //root// Verzeichnis sind übrigens auch die Dateien, die wir bei unserer letzten Aktion verwendet haben.  
 + 
 +Ein Aufruf 
 + 
 +http://schulung.qgelm.de/test.txt 
 + 
 +in einem  beliebigem Browser oder mittels ''curl'' sollte das erwartete Ergebnis liefern. Spannender wird jetzt das Live-Experiment mit der im letzten Abschnitt bereits vorgestellten HTML-Datei, die im //root// Verzeichnis als //index.html// hinterlegt ist: 
 + 
 +http://schulung.qgelm.de 
 + 
 +(''/index.html'' habe ich jetzt schon einfach weggelassen, s.o.) 
 + 
 +>Tipp: Die tatsächliche Kommunikation auf Ebene von TCP/IP kann man sich auch direkt anschauen. Dann allerdings wieder in einem Terminal auf dem Server: 
 +
 +> ''tcpdump -i any port 80'' 
 +> oder ''tcpdump -i any -A port 80'', das zeigt dann auch alle Inhalte, alternativ ''ngrep'' 
 + 
 + 
 +Genug mit statischen Webseiten, was bedeutet in dem Zusammenhang [[http_dynamisch|dynamisch]]?