Geekflare wird von unserem Publikum unterstützt. Wir können Affiliate-Provisionen durch den Kauf von Links auf dieser Website verdienen.
Teilen:

44 Praktische Apache Web Server-Interviewfragen mit Antworten

Interview
Invicti Web Application Security Scanner – die einzige Lösung, die eine automatische Verifizierung von Schwachstellen mit Proof-Based Scanning™ bietet.

Apache ist der beliebteste Webserver. Wenn Sie als Middleware- / System- / Webadministrator arbeiten möchten, müssen Sie damit vertraut sein. Apache HTTP ist ein Open-Source-Webserver für Windows und UNIX.

Vor ein paar Tagen schrieb ich darüber Fragen zum WebSphere-Interviewund viele von Ihnen haben darum gebeten, über Apache Web Server zu schreiben.

Die folgenden Fragen werden häufig in einem Interview vom Anfänger bis zum Experten gestellt. In den meisten Unternehmen wird der Webserver vom Middleware- / Systemadministrator zusammen mit dem Anwendungsserver und anderen Komponenten verwaltet.

Beginnen wir mit Fragen und Antworten zu Interviews in Echtzeit...

1. Wie stoppe / starte ich Apache Web Server?

Sie können den Computer neu starten, indem Sie zum Ordner Apache-Instanz >> bin wechseln und das Skript apachectl ausführen.

./apachectl stop
./apachectl start

Sie können auch ein Skript in /etc/init.d/ verwenden. Meistens wird es entweder "Apache" oder "httpd" genannt.

/etc/init.d/apache stop
/etc/init.d/apache start

Ein anderes Verfahren wäre die Nutzung von Diensten

httpd stop
service httpd start

2. Was ist der Standardport für HTTP und HTTPS?

Der Standardport für HTTP ist 80 und HTTPS 443. Überprüfen Sie die Standardports für andere Anwendungen Hier finden Sie.

3. Können Sie mir den wichtigen Namen der Konfigurationsdatei mitteilen?

httpd.conf ist die Hauptkonfigurationsdatei, die in Apache verwendet wird.

4. Wie überprüfe ich die Version von Apache Web Server?

Es gibt mehrere Möglichkeiten, dies zu finden, aber genauer wäre;

  • Melden Sie sich bei einem Webserver an
  • Gehen Sie zur Apache-Instanz und zum bin-Ordner
  • Habe httpd mit -v ausgeführt, um die Versionsdetails abzurufen.
[root@lab sbin]# ./httpd -v
Server version: Apache/2.2.15 (Unix)
Server built:   Jul 18 2016 15:24:00
[root@lab sbin]#

Alternativ können Sie auch die verwenden rpm Befehl zum Überprüfen der installierten Version.

[root@lab ~]# rpm -qa |grep httpd
httpd-2.2.15-54.el6.centos.x86_64
httpd-tools-2.2.15-54.el6.centos.x86_64
[root@lab ~]#

5. Woher wissen, ob ein Webserver ausgeführt wird?

Es gibt mehrere Möglichkeiten, dies zu finden.

  1. Melden Sie sich bei einem Webserver an und suchen Sie nach dem httpd-Prozess
ps -ef |grep httpd
  1. Suchen Sie nach Warnungen in Ihrem Dashboard überwachen.
  2. Überprüfen Sie, ob auf Ihren Apache IP: -Port im Browser zugegriffen werden kann

Beispiel: http://yourapacheserver.com

  1. Überprüfen Sie, ob die konfigurierte IP und der konfigurierte Port den Server mit überwachen netstat
netstat -anlp |grep 80

6. Wie installiere ich Apache HTTP?

Es gibt drei Möglichkeiten, dies zu installieren.

Die Quellcode - Sie können die Quelle herunterladen und kompilieren.

  • Laden Sie die neueste Version von herunter http://httpd.apache.org/download.cgi
  • Extrahieren Sie die Quelle mit tar Dienstprogramm oder gzip Dienstprogramm abhängig vom Dateityp: .tar or .tar.gz
tar xvf  httpd-1.2.3.tar
gzip -d httpd-1.2.4.tar.gz
  •  Navigieren Sie zu dem Ort, an dem Sie die Quelle extrahiert haben cd Befehl und konfigurieren Sie es mit dem  ./configure  Befehl auf dem Terminal
  • Dann kompilieren Sie es mit dem make Befehl.
  • Zum Schluss benutze die make install Befehl, um es zu installieren.

Wenn Sie weitere Optionen zur Konfiguration erfahren möchten, können Sie die verwenden configure --help Befehl.

YUM-Repositories - Wenn Ihr Server mit dem Internet verbunden ist oder über ein internes Repository verfügt, können Sie es mit yum installieren.

yum install httpd

RPM - Sie können die notwendigen herunterladen RPM-Paket und verwenden Sie den Befehl rpm.

rpm -ivh packagename.rpm

7. Wie kann sichergestellt werden, dass Apache nur eine IP-Adresse auf dem Server abhört?

Dies ist häufig erforderlich, wenn Sie mehrere IP-Adressen auf dem Server haben. Um sicherzustellen, dass Apache nur die angegebene IP-Adresse abhört, müssen Sie die IP-Adresse und den Port in der Listen-Direktive explizit angeben.

Ex:

Listen 10.10.10.10:80

8. Wie kann sichergestellt werden, dass Apache mit Nicht-Root- / Niemand-Benutzern ausgeführt wird?

Dies ist durch Hinzufügen der Benutzer- und Gruppenanweisung in der Datei httpd.conf möglich

User apache
Group apache

Das obige Konfigurationsbeispiel stellt sicher, dass es mit dem Benutzer "Apache" beginnt. Sie müssen sicherstellen, dass Benutzer auf dem Server vorhanden sind, bevor Sie ihn konfigurieren.

9. Wie deaktiviere ich die Verzeichnisindizierung?

Sie können "Options -Indexes" in der jeweiligen Verzeichnisanweisung verwenden.

Ex:

<Directory />
       Options -Indexes
</Directory>

10. Welches Modul ist erforderlich, damit eine Umleitung möglich ist?

mod_rewrite ist für die Umleitung verantwortlich und muss in der Datei httpd.conf nicht kommentiert werden.

LoadModule rewrite_module modules/mod_rewrite.so

11. Können Sie den Überwachungsport von Standard auf etwas anderes ändern?

Ja, es ist möglich, indem Sie die Portnummer im Feld angeben zuhören Richtlinie.

Beispiel: Damit Apache den 9000-Port auf die IP-Adresse 10.10.10.10 überwacht.

Listen 10.10.10.10:9000

12. Wie sichere ich eine auf Apache Web Server gehostete Website?

Es gibt mehrere Möglichkeiten Sichern Sie den Apache-Webserver Folgendes ist mit eingeschlossen.

13. Welche Protokolldateien werden von Apache generiert?

Es werden zwei beliebte Protokolldateien erstellt.

  • access.log - alle Anforderungsdetails mit dem Statuscode
  • error.log - Erfasst alle Fehler in Apache oder stellt eine Verbindung zum Backend her

14. Wie erstelle ich eine CSR?

Sie können entweder den folgenden OpenSSL-Befehl verwenden oder CSR online generieren.

So erstellen Sie eine neue CSR mit einem privaten Schlüssel

openssl req -out geekflare.csr -newkey rsa:2048 -nodes -keyout geekflare.key

Probieren Sie auch die OpenSSL Spickzettel für mehr Befehle.

15. Was ist virtuelles Hosting?

Mit Virtual Hosting in Apache können Sie mehrere Websites auf einer einzigen Instanz hosten. Sie können entweder erstellen IP-basiert or Namensbasiert auf virtuellem Hosting.

16. Welches Modul wird benötigt, um eine Verbindung zu WebSphere herzustellen?

mod_was_ap22_http.so muss hinzugefügt werden httpd.conf Datei zur Integration in IBM WAS.

17. Wie versetze ich die Protokollstufe in den Debug-Modus?

Wird häufig benötigt, wenn Sie das Problem beheben und weitere Details erfassen möchten. Sie können die Protokollierungsstufe in Debug ändern, indem Sie in der Datei httpd.conf Folgendes sicherstellen.

LogLevel debug

18. Welches Modul ist erforderlich, um SSL zu aktivieren?

Das Modul mod_ssl muss vor der SSL-Implementierung auskommentiert werden.

LoadModule auth_basic_module modules/mod_ssl.so

19. Wie lautet der Name des WebLogic-Moduls?

mod_wl_22.so

20. Welche Protokollstufe ist in Apache verfügbar?

Die Standardkonfiguration ist auf „warnen”Ist jedoch auch folgendes möglich.

  • debuggen
  • Info
  • warnen
  • beachten
  • krit
  • Alarm
  • emerg
  • Fehler

21. Was ist DocumentRoot?

Die DocumentRoot-Direktive ist die Konfiguration, in der Sie den Ordner angeben können, von dem aus die statischen Dateien bereitgestellt werden. Es wird auch als WebRoot bezeichnet.

Default DocumentRoot location is /var/www/html

22. Wie kann ich Kriegs- oder JAVA-Anwendungen in Apache bereitstellen?

Ich fürchte, Apache ist ein Webserver und eine Java-basierte Anwendungsbereitstellung ist damit nicht möglich. Sie können jedoch Java-Anwendungsserver wie WebLogic, WebSphere und JBoss integrieren, auf denen Sie War-Ear-Dateien bereitstellen können.

23. Was ist ein Unterschied zwischen Apache Web Server und Apache Tomcat?

Apache Web ist ein HTTP-Server zum Bereitstellen statischer Inhalte, wobei Tomcat ein Servlet-Container zum Bereitstellen von JSP-Dateien ist.

Sie können Apache HTTP jedoch jederzeit in Tomcat integrieren, je nachdem, ob Sie eine der beiden Optionen auswählen müssen. Wenn Sie einen geeigneten Webserver benötigen, dann Apache HTTP oder Tomcat für JSP-Servlet Container.

24. Wie kann Apache als Proxyserver fungieren?

Sie können ein mod_proxy-Modul als Proxyserver verwenden. Das mod_proxy-Modul kann verwendet werden, um eine Verbindung zum Backend-Server herzustellen Kater, WebLogic, WebSphere usw.

25. Wie konfiguriere ich das Apache-Protokoll, damit es die Zeit erfasst, die für die Bearbeitung einer Anfrage benötigt wird?

Du kannst hinzufügen "%D”In der Datei httpd.conf unter der LogFormat-Direktive, um die Antwortzeit zu erfassen, die für die Bearbeitung der Anforderung benötigt wird. Es wird die Zeit in Mikrosekunden angezeigt.

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %D" combined

Starten Sie den Apache-Webserver neu und Sie können die Ergebnisse sehen.

182.19.197.23 - - [02/Oct/2016:10:32:25 +0000] "GET / HTTP/1.1" 403 4961 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36" 1515
182.19.197.23 - - [02/Oct/2016:10:32:25 +0000] "GET /icons/apache_pb.gif HTTP/1.1" 304 - "http://lab.geekflare.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36" 424
182.19.197.23 - - [02/Oct/2016:10:32:25 +0000] "GET /icons/poweredby.png HTTP/1.1" 304 - "http://lab.geekflare.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36" 472

26. Welches Tool verwenden Sie für die Protokollanalyse?

Sie müssen die Wahrheit sagen, aber um Ihnen eine Idee zu geben, die Sie verwenden können GoAccess, SumoLogik oder wenige hier erwähnt.

27. An welchen Webservern haben Sie zusammen mit Apache gearbeitet?

Wiederum sollten Sie die Wahrheit sagen, aber um Sie darauf aufmerksam zu machen, gibt es auf dem Markt viele Webserver, darunter die folgenden.

  • Nginx
  • Microsoft IIS
  • LiteSpeed
  • GWS

28. Wie überprüfe ich die Datei httpd.conf, um sicherzustellen, dass kein Konfigurationssyntaxfehler vorliegt?

httpd –t hilft Ihnen bei der Überprüfung der Syntax.

[root@lab httpd]# /usr/sbin/httpd -t
Syntax OK
[root@lab httpd]#

Alternativ können Sie auch den Befehl apachectl verwenden.

[root@lab ~]# /usr/sbin/apachectl configtest
Syntax OK
[root@lab ~]#

29. Wie führe ich einen Apache-Leistungsbenchmark durch?

Sie können ein Werkzeug wie verwenden ApacheBench, SIEGE um den Lasttest auf Webservern einschließlich Apache durchzuführen. Eine weitere Möglichkeit, Stress auszuführen Online-Test um zu sehen, wie sich die Webanwendung insgesamt unter Last verhält.

30. Wie bekomme ich Unterstützung für Apache Web Server, wenn etwas nicht stimmt?

Apache ist ein Open Source-Webserver, daher gibt es keine Unterstützung auf Unternehmensebene. Sie können jedoch a erhöhen Fehlerbericht oder stellen Sie eine Frage zum Stapelüberlauf.

31. Wie kann sichergestellt werden, dass der Webserver nach einem Neustart des Servers gestartet wird?

Wenn Sie Linux ausführen, können Sie ein Skript in /etc/init.d/ einfügen und aktivieren Starten Sie beim Booten mit dem Befehl chkconfig

Angenommen, Sie erstellen eine Datei mit dem Namen Apache und unter /etc/init.d setzen

chkconfig --add apache
chkconfig apache on

Stellen Sie unter Windows sicher, dass der Starttyp "Automatisch" ausgewählt ist.

32. Was ist ein Unterschied zwischen Apache und Nginx Webserver?

Beide sind als Webserver kategorisiert und hier sind einige der Hauptunterschiede.

  • Nginx ist ein ereignisbasierter Webserver, auf dem Apache prozessbasiert ist
  • Nginx ist bekannt für eine bessere Leistung als Apache
  • Apache unterstützt eine Vielzahl von Betriebssystemen, in denen Nginx OpenVMS und IBMi nicht unterstützt
  • Apache verfügt über eine große Anzahl von Modulen, die in den Backend-Anwendungsserver integriert sind, wo Nginx noch aufholt
  • Nginx ist leichtgewichtig und erobert schnell Marktanteile. Wenn Sie neu bei Nginx sind, könnten Sie daran interessiert sein, meine Artikel über Nginx zu lesen.

33. Wie würden Sie den Apachen töten, wenn Graceful-Stop nicht funktioniert?

Wenn Sie unter Linux ausgeführt werden, können Sie den Befehl kill verwenden.

Ermitteln Sie die PID von Apache mithilfe von ps -ef | grep http

Dann töte es

kill $PIDNUMBER

Wenn normales Töten nicht funktioniert, versuchen Sie es mit -9

kill -9 $PIDNUMBER

Unter Windows beenden Sie die Apache-Aufgabe im Task-Manager.

34. Wie finde ich die Datei httpd.conf, wenn Sie den Installationsort nicht kennen?

Unter Linux können Sie verwenden Befehl find.

Nehmen wir an, Sie wissen, dass es sich im Dateisystem / apps befinden muss, dann können Sie den folgenden Befehl verwenden.

find /apps -name httpd.conf

Wenn Sie sich jedoch nicht sicher sind, welches Dateisystem Sie verwenden können, können Sie das Dateisystem finden. Beachten Sie jedoch, dass es aufgrund der Gesamtgröße des Dateisystems sehr lange dauern kann.

find / -name httpd.conf

35. Welche verschiedenen Varianten des Apache-Webservers kennen Sie?

  • IBM HTTP Server - bekannt als IHS und häufig mit IBM WebSphere Application Server verwendet
  • Oracle HTTP Server - bekannt als OHS, wird häufig mit Oracle Weblogic-Servern verwendet

36. Wo befindet sich der Apache im Rechenzentrum?

Sie können dies anhand Ihrer Erfahrungen erklären. In der Regel handelt es sich jedoch bei Anwendungen mit Internetverbindung um das Internet-DMZ-Netzwerk und das Intranet-Kernnetzwerk.

Dies hängt jedoch wiederum von der Anwendung / Organisation ab.

37. Wie verstecke ich Serverversionsdetails im HTTP-Antwortheader?

Fügen Sie Folgendes in die Datei httpd.conf ein und starten Sie den Webserver neu

ServerTokens Prod
ServerSignature Off

Dadurch wird die Version ausgeblendet und der Server als "Apache" Nur.

38. Was bedeuten 200, 403 und 503 HTTP-Fehlercodes?

  • 200 - Inhalt gefunden und serviert OK
  • 403 - versucht, auf eingeschränkte Dateien / Ordner zuzugreifen
  • 503 - Der Server ist zu beschäftigt, um die Anforderung zu bedienen, und mit anderen Worten - der Dienst ist nicht verfügbar.
  • Verweisen Infografik zum HTTP-Antwortcode für mehr.

39. Wie deaktiviere ich Trace-HTTP-Anforderungen?

Fügen Sie Folgendes in die Datei httpd.conf ein und starten Sie die Instanz neu

TraceEnable off

40. Wie kann ein Problem mit Portkonflikten behoben werden?

netstat Dies ist hilfreich, um das Problem mit dem Portkonflikt zu beheben. Wenn mehrere Instanzen auf einem einzelnen Server ausgeführt werden, wird empfohlen, die absolute IP: Port für die Listen-Direktive zu konfigurieren.

41. Wie installiere ich das Modul eines Drittanbieters?

Sie können Gebrauch machen Apache-Toolbox. Nach dem Herunterladen extrahieren Sie es mit dem tar Dienstprogramm.

tar  -xf   Apachetoolbox-1.5.72.tar.gz

Navigieren Sie zu dem Ordner Apachetoolbox-1.5.72 Verwendung der cd Befehl und führen Sie den folgenden Befehl aus, um Module für Ihren Apache-Server auszuwählen.

./install.sh

Es bietet Module wie  mod_ip_forwarding, mod_auth_mysql und mod_auth_samba mit dem Apache-Webserver zu kompilieren. Obwohl Sie diese Module manuell einbinden können, ist dies mit der Apache Toolbox einfacher.

42. Wie kann man virtuellen Hosts mehrere Namen zuweisen?

Sie können die verwenden ServerAlias Richtlinie wie unten gezeigt.

ServerName  example.com  
ServerAlias    awesome.com  fantastic.com

43. Wie kann die Upload-Größe begrenzt werden?

Ich habe eine Webanwendung, mit der Benutzer Dateien wie Word-Dokumente, PDF usw. hochladen können. Wie beschränke ich das Hochladen von Dateien durch Benutzer?

Sie können die verwenden LimitRequestBody Anweisung zur Begrenzung der Größe von Upload-Dateien.

<Directory "usr/local/apache2/uploads"> 
LimitRequestBody 9000 
</Directory>

Der dem zugewiesene Wert LimitRequestBody ermöglicht es Apache, Datei-Uploads von 9000 Bytes durch Benutzer zu akzeptieren und zu speichern. Sie können den Wert je nach Anforderung anpassen.

44. Wie kann der Zugriff durch IPs eingeschränkt werden?

Möglicherweise möchten Sie, dass ein Teil des Kontextstamms über zulässige IPs zugänglich ist. Dazu können Sie nutzen mod_authz_core or mod_authz_host Module, um den Zugriff mit dem zu beschränken Require Richtlinie.

Require 10.0.0.2 10.0.0.4 192.168.34.23 192.168.34.23

Auf diese Weise wird Apache Anfragen nur dann bearbeiten, wenn Anfragen von den aufgelisteten IPs gestellt werden.

Sie müssen die angeben Require Direktive innerhalb des Verzeichnisses, in dem Sie den Zugriff auf Ressourcen zulassen oder verweigern möchten.

Fazit

Ich hoffe, die obigen Fragen und Antworten helfen Ihnen, sich auf einen Webserver-Administrator vorzubereiten Interview.

Danke an unsere Sponsoren
Weitere großartige Lektüren zu Apache HTTP
Treiben Sie Ihr Geschäft an
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti verwendet das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu verifizieren und innerhalb weniger Stunden umsetzbare Ergebnisse zu generieren.
    Versuchen Sie es mit Invicti
  • Web-Scraping, Wohn-Proxy, Proxy-Manager, Web-Unlocker, Suchmaschinen-Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie es mit Brightdata
  • Semrush ist eine All-in-One-Lösung für digitales Marketing mit mehr als 50 Tools in den Bereichen SEO, Social Media und Content-Marketing.
    Versuchen Sie es mit Semrush
  • Intruder ist ein Online-Schwachstellenscanner, der Cyber-Sicherheitslücken in Ihrer Infrastruktur findet, um kostspielige Datenschutzverletzungen zu vermeiden.
    MIT DER INTELLIGENTEN SCHADENKALKULATION VON Intruder