44 Întrebări practice cu interviuri pe serverul web Apache cu răspunsuri

Apache este cel mai popular Web Server și, dacă intenționați să lucrați ca administrator Middleware / System / Web, atunci trebuie să vă familiarizați cu acesta. Apache HTTP este un server Web open-source pentru Windows & UNIX.


Câteva zile în urmă, am scris despre Întrebări despre interviul WebSphere și mulți dintre voi au solicitat să scrie despre Apache Web Server, așa că aici mergeți.

Următoarele întrebări sunt adesea puse într-un interviu de la nivel începător la expert. Cea mai mare parte a organizației va avea Web Server administrat de administratorul Middleware / System împreună cu Application Server și alte componente.

Să începem întrebări de interviu în timp real & răspunsuri

Contents

1. Cum să oprești / să pornești Apache Web Server?

Puteți reporni accesând locația instanței Apache >> folder bin și executați scriptul apachectl.

./ apachectl stop
./ apachectl start

Puteți utiliza, de asemenea, un script situat în /etc/init.d/. În mare parte, va fi denumit fie „apache”, fie „httpd”

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

O altă procedură ar fi utilizarea serviciilor

httpd stop
service httpd start

2. Care este portul implicit pentru HTTP și HTTPS?

Portul implicit pentru HTTP este 80 și HTTPS 443. Verificați porturile implicite pentru alte aplicații enumerate aici.

3. Îmi puteți spune numele fișierului de configurare important?

httpd.conf este principalul fișier de configurare utilizat în Apache.

4. Cum să verificați versiunea de a rula Apache Web Server?

Există mai multe modalități de a găsi acest lucru, dar mai exact ar fi;

  • Conectați-vă la un server web
  • Accesați folderul instanță apache și bin
  • Executat httpd cu -v pentru a obține detaliile versiunii.

[[Email protected] sbin] # ./httpd -v
Versiunea serverului: Apache / 2.2.15 (Unix)
Server construit: 18 iulie 2016 15:24:00
[[Email protected] Sbin] #

Alternativ, puteți utiliza, de asemenea, rpm comanda pentru a verifica versiunea instalată.

[[Email protected] ~] # rpm -qa | grep httpd
httpd-2.2.15-54.el6.centos.x86_64
Httpd-tools-2.2.15-54.el6.centos.x86_64
[[Email protected] ~] #

5. Cum să știți dacă un server web rulează?

Există mai multe modalități de a găsi acest lucru.

  1. Conectați-vă la un server web și grep pentru procesul „httpd”

ps -ef | grep httpd

  1. Verificați dacă există o alertă din tabloul de bord de monitorizare.
  2. Verificați dacă portul dvs. IP apache este accesibil în browser

Ex: http://yourapacheserver.com

  1. Verificați dacă IP-ul configurat și portul ascultă pe server cu netstat

netstat -anlp | grep 80

6. Cum se instalează Apache HTTP?

Există trei moduri posibile de a instala acest lucru.

Utilizarea cod sursa – puteți descărca sursa și compila.

  • Descărcați cea mai recentă versiune http://httpd.apache.org/download.cgi
  • Extrageți sursa cu utilitatea tar sau utilitatea gzip în funcție de tipul de fișier: .tar sau .tar.gz

tar xvf httpd-1.2.3.tar
gzip -d httpd-1.2.4.tar.gz

  •  Navigați până unde ați extras sursa prin comanda cd și configurați-o folosind comanda ./configure de pe terminal
  • Apoi compilați-l folosind comanda make.
  • În cele din urmă, utilizați comanda make install pentru a o instala.

Dacă doriți să aflați mai multe opțiuni despre modul de configurare, puteți utiliza comanda configure –help.

Depozitul YUM – dacă serverul dvs. este conectat la Internet sau are un depozit intern, puteți utiliza yum pentru a-l instala.

yum instala httpd

RPM – Puteți descărca pachetul RPM necesar și utiliza comanda rpm.

rpm -ivh packagename.rpm

7. Cum să vă asigurați că Apache ascultă o singură adresă IP pe server?

Acest lucru este adesea necesar atunci când aveți mai multe IP-uri pe server. Pentru a vă asigura că Apache ascultă doar IP-ul specificat, trebuie să menționați în mod explicit IP și port în Directiva Listen.

Ex:

Ascultă 10.10.10.10:80

8. Cum să vă asigurați rularea Apache cu un utilizator non-root / nimeni?

Acest lucru este posibil prin adăugarea de User & Directiva de grup în fișierul httpd.conf

Utilizator apache
Grupa apache

Exemplul de configurație de mai sus va asigura că începe cu un utilizator „apache”. Înainte de configurare, trebuie să vă asigurați că utilizatorii există pe server.

9. Cum dezactivez indexarea directoarelor?

Puteți utiliza „Opțiuni-indexuri” în directiva respectivă.

Ex:

Opțiuni -Indexe

10. Ce modul este necesar să fie redirecționat?

mod_rewrite este responsabil pentru redirecționare, iar acest lucru trebuie necomentat în fișierul httpd.conf.

LoadModule rewrite_module modules / mod_rewrite.so

11. Puteți schimba portul de ascultare de la altfel la altceva?

Da, este posibil prin specificarea numărului de port din Asculta directivă.

Ex: pentru ca Apache să asculte pe portul 9000 la adresa IP 10.10.10.10.

Ascultă 10.10.10.10:9000

12. Cum să securizați un site web găzduit pe serverul web Apache?

Există mai multe modalități de securizare a webserver-ului Apache, inclusiv următoarele.

  • Implementarea SSL
  • Integrarea cu WAF (Firewall Application Firewall) cum ar fi ModSecurity, etc.
  • Utilizarea furnizorului de securitate bazat pe cloud

13. Care sunt fișierele jurnal generate de Apache?

Există două fișiere de jurnal populare create;

  • access.log – toate detaliile solicitării cu codul de stare
  • error.log – surprinde toate erorile din apache sau conectarea la backend

14. Cum se creează o CSR?

Puteți utiliza următoarea comandă OpenSSL sau genera CSR online.

Pentru a crea o CSR nouă cu o cheie privată

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

Consultați foaia de înșelare OpenSSL pentru mai multe comenzi.

15. Ce este Virtual Gazduire?

Gazduirea virtuală în Apache vă permite să găzduiți mai multe site-uri web pe o singură instanță. Puteți crea fie Bazat pe IP sau Bazat pe nume pe găzduire virtuală.

16. Ce modul este necesar pentru a vă conecta la WebSphere?

mod_was_ap22_http.so trebuie adăugat în fișierul httpd.conf pentru a se integra cu IBM WAS.

17. Cum se plasează nivelul de jurnal în modul Debug?

Deseori este nevoie când rezolvați problema și doriți să capturați mai multe detalii. Puteți schimba nivelul de înregistrare la depanare, asigurând următoarele în fișierul httpd.conf.

Debug LogLevel

18. Ce modul este necesar pentru a activa SSL?

Modulul mod_ssl trebuie să fie necomentat înainte de implementarea SSL.

LoadModule auth_basic_module modules / mod_ssl.so

19. Care este numele modulului WebLogic?

mod_wl_22.so

20. Care este nivelul de jurnal disponibil în Apache?

Configurația implicită este setată pe „a avertizaTotuși, următoarele sunt posibile.

  • depanare
  • info
  • a avertiza
  • înștiințare
  • crit
  • alarma
  • EMERG
  • eroare

21. Ce este DocumentRoot?

Directiva DocumentRoot este configurația în care puteți specifica locația folderului de unde vor fi difuzate fișierele statice. Este, de asemenea, numit WebRoot.

Locația implicită DocumentRoot este / var / www / html

22. Cum să implementați aplicații de război sau JAVA în Apache?

Mă tem, Apache este un server Web, iar implementarea bazată pe Java nu este posibilă cu acesta. Cu toate acestea, puteți integra servere de aplicații Java, cum ar fi WebLogic, WebSphere, JBoss, unde puteți implementa fișiere de război, ear.

23. Care este o diferență între Apache Web Server și Apache Tomcat?

Apache Web este un server HTTP care servește conținut static unde Tomcat este un container servlet pentru a implementa fișiere JSP.

Puteți integra întotdeauna Apache HTTP cu Tomcat, însă, pe baza cerinței de care aveți nevoie pentru a alege unul. Dacă aveți nevoie de un server web adecvat, atunci Apache HTTP altceva Tomcat pentru JSP-Servlet Container.

24. Cum poate acționa Apache ca server proxy?

Puteți utiliza un modul mod_proxy pentru a-l utiliza ca server proxy. Modulul mod_proxy poate fi utilizat pentru a vă conecta la serverul backend precum Tomcat, WebLogic, WebSphere, etc..

25. Cum să configurați jurnalul Apache, astfel încât să surprindă timpul necesar pentru a răspunde unei solicitări?

Poti sa adaugi “% D”În fișierul httpd.conf, sub directiva LogFormat, pentru a surprinde timpul de răspuns luat pentru a răspunde cererii. Va afișa timpul în microsecunde.

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

Reporniți serverul web Apache și puteți vedea rezultatele.

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, ca 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, ca 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, ca Gecko) Chrome / 53.0.2785.116 Safari / 537.36" 472

26. Ce instrument utilizați pentru analiza jurnalului?

Trebuie să spui adevărul, dar pentru a-ți face o idee poți folosi GoAccess, SumoLogic sau puține menționate aici.

27. Care sunt serverele web la care ați lucrat împreună cu Apache?

Din nou, mai bine spuneți adevărul, dar pentru a vă conștientiza, există multe servere web pe piață, inclusiv următoarele.

  • Nginx
  • Microsoft IIS
  • LiteSpeed
  • GWS

28. Cum se verifică fișierul httpd.conf pentru a nu asigura nicio eroare de sintaxă de configurare?

httpd –t vă va ajuta să verificați sintaxa.

[[Email protected] httpd] # / usr / sbin / httpd -t
Sintaxa OK
[[Email protected] httpd] #

Alternativ, puteți utiliza, de asemenea, comanda apachectl.

[[Email protected] ~] # / usr / sbin / apachectl configtest
Sintaxa OK
[[Email protected] ~] #

29. Cum se realizează etalonul de performanță Apache?

Puteți utiliza un instrument precum ApacheBench, SIEGE pentru a efectua testul de încărcare pe serverele web, inclusiv Apache. O altă opțiune de a efectua testul de stres online pentru a vedea cum se execută aplicația web sub sarcină.

30. Cum să obțineți asistență pentru Apache Web Server dacă ceva nu este în regulă?

Apache este un server web Open Source, deci nu există suport la nivelul întreprinderii. Cu toate acestea, puteți ridica o raport de erori sau puneți o întrebare despre Overflow Stack.

31. Cum să vă asigurați că serverul web începe să înceapă după o repornire a serverului?

Dacă executați Linux, puteți pune un script în /etc/init.d/ și puteți porni la pornire folosind comanda chkconfig

Să presupunem că ați creat un fișier numit apache și puneți sub /etc/init.d

chkconfig – add apache
chkconfig apache pe

dacă pe Windows, asigurați-vă că tipul de pornire este selectat „Automatic”.

32. care este o diferență între serverul web Apache și Nginx?

Ambele sunt clasificate ca un server web și aici sunt câteva dintre principalele diferențe.

  • Nginx este un server web bazat pe evenimente în care este bazat procesul Apache
  • Nginx este cunoscut pentru performanțe mai bune decât Apache
  • Apache acceptă o gamă largă de sisteme de operare în care Nginx nu acceptă OpenVMS și IBMi
  • Apache are un număr mare de integrări de module cu serverul de aplicații backend în care Nginx este încă la curent
  • Nginx este ușor și captează rapid cota de piață. Dacă sunteți nou la Nginx, atunci puteți fi interesat să consultați articolele mele despre Nginx.

33. Cum l-ai ucide pe Apache dacă oprirea grațioasă nu funcționează?

Dacă rulează pe Linux, atunci poți folosi comanda kill.

Aflați PID-ul Apache folosind ps -ef | grep http

Atunci ucide-l

ucide $ PIDNUMBER

dacă uciderea normală nu funcționează, atunci încercați să omori -9

ucide -9 $ PIDNUMBER

Dacă pe Windows, încheiați sarcina Apache din Task Manager.

34. Cum puteți găsi fișierul httpd.conf dacă nu cunoașteți locația de instalare?

În Linux, puteți utiliza comanda find.

Să presupunem, știți că trebuie să fie în sistemul de fișiere / aplicații, apoi puteți utiliza următoarea comandă.

găsi / aplicații -nume httpd.conf

Dar dacă nu sunteți sigur despre ce sistem de fișiere, atunci puteți găsi pe / sistem de fișiere, dar țineți minte, poate dura mult timp pe baza dimensiunii generale a sistemului de fișiere..

găsi / -nume httpd.conf

35. Care sunt diferitele arome ale site-ului web Apache pe care îl cunoașteți?

  • IBM HTTP Server – cunoscut sub numele de IHS și adesea utilizat cu IBM WebSphere Application Server
  • Oracle HTTP Server – cunoscut sub numele de OHS utilizat adesea cu serverul Oracle Weblogic

36. Unde se află Apache în locația centrului de date?

Puteți explica în funcție de experiența dvs., cu toate acestea, de obicei, pentru aplicațiile orientate către Internet, ar fi în rețeaua DMZ de internet și pentru rețeaua intranet, de bază.

Dar din nou, acest lucru va diferi în funcție de aplicație / organizație.

37. Cum să ascundeți detaliile versiunii serverului în antetul răspunsului HTTP?

Adăugați următoarele în fișierul httpd.conf și reporniți serverul web

ServerTokens Prod
ServerSignature Off

Aceasta va ascunde versiunea și va arăta Serverul ca „ApacheDoar.

38. Ce înseamnă 200, 403 & 503 Coduri de eroare HTTP înseamnă?

  • 200 – conținut găsit și servit OK
  • 403 – a încercat să acceseze fișierul / folderul restricționat
  • 503 – serverul este prea ocupat pentru a răspunde cererii și cu alte cuvinte – serviciul indisponibil.
  • Consultați infografic Codul de răspuns HTTP pentru mai multe.

39. Cum se dezactivează urmărirea solicitărilor HTTP?

Adăugați următoarele în fișierul httpd.conf și reporniți instanța

TraceEnable off

40. Cum să rezolvați problema conflictului portuar?

netstat ar fi util pentru a rezolva problema conflictului de port. Dacă executați mai multe instanțe pe un singur server, atunci ar fi recomandat să aveți un IP absolut: Port configurat pentru directiva Listen.

41. Cum se instalează modulul terților?

Puteți folosi Cutie de instrumente Apache. Odată descărcat, extrageți-l folosind utilitarul gudron.

gudron-xf Apachetoolbox-1.5.72.tar.gz

Navigați la folderul Apachetoolbox-1.5.72 folosind comanda cd și executați comanda de mai jos pentru a selecta module pentru serverul dvs. Apache.

./install.sh

Acesta oferă module cum ar fi mod_ip_forwarding, mod_auth_mysql și mod_auth_samba pentru a compila cu webserver-ul Apache. Deși puteți include aceste module manual, este mai ușor cu Apache Toolbox.

42. Cum se pot atribui mai multe nume gazdelor virtuale?

Puteți folosi directiva ServerAlias ​​așa cum se arată mai jos.

Exemplu ServerName.com
ServerAlias ​​awesome.com fantastic.com

43. Cum se limitează dimensiunea încărcării?

Am o aplicație web care permite utilizatorilor să încarce fișiere precum documente word, pdf și așa mai departe. Cum pot limita încărcarea fișierelor de către utilizatori?

Puteți folosi directiva LimitRequestBody pentru a limita dimensiunea fișierului de încărcare.

LimitRequestBody 9000

Valoarea atribuită LimitRequestBody permite Apache să accepte și să stocheze încărcări de fișiere de 9000 de octeți de către utilizatori. Puteți ajusta valoarea în funcție de cerință.

44. Cum să restricționați accesul prin IP?

Este posibil să doriți ca o parte din rădăcina contextului să fie accesibilă de către IP-urile permise. Pentru a face acest lucru, puteți folosi mod_authz_core sau mod_authz_host module pentru restricționarea accesului folosind directiva Obligatoriu.

Necesită 10.0.0.2 10.0.0.4 192.168.34.23 192.168.34.23

Procedând mai sus, Apache va răspunde cererilor numai dacă cererile sunt făcute de la IP-urile enumerate.

Trebuie să specificați Directiva Obligatorie din directorul în care doriți să permiteți sau să refuzați accesul la resurse.

Concluzie

Sper că întrebările de mai sus și răspunsul vă ajută să vă pregătiți pentru un administrator de server web interviu.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map