44 Практически въпроси за интервю на уеб сървър Apache с отговори

Apache е най-популярният уеб сървър и ако възнамерявате да работите като Middleware / System / Web администратор, тогава трябва да сте запознати с него. Apache HTTP е уеб сървър с отворен код за Windows & UNIX.


Преди няколко дни писах за въпроси за интервю за WebSphere и много от вас поискаха да напишете за уеб сървъра Apache, така че тук отивате.

Следните въпроси често се задават в интервю от начинаещо до експертно ниво. По-голямата част от организацията ще има уеб сървър, управляван от Middleware / System администратор, заедно с Application Server и други компоненти.

Нека започнем с въпроси за интервю в реално време & отговори

Contents

1. Как да спрете / стартирате Apache Web Server?

Можете да рестартирате, като отидете на местоположението на Apache >> бин папка и изпълнете apachectl скрипт.

./ apachectl стоп
./ apachectl старт

Можете също така да използвате скрипт, разположен в /etc/init.d/. Най-вече ще бъде наречен „apache“ или „httpd“

/etc/init.d/apache спирка
/etc/init.d/apache старт

Друга процедура би била използването на услуги

httpd стоп
услуга httpd старт

2. Какъв е портът по подразбиране за HTTP и HTTPS?

Портът по подразбиране за HTTP е 80 и HTTPS 443. Порта за проверка по подразбиране за други приложения, изброени тук.

3. Можете ли да ми кажете важното име на конфигурационния файл?

httpd.conf е основният конфигурационен файл, използван в Apache.

4. Как да проверите версията на работа на Apache Web Server?

Има много начини да се намери това, но по-точно би било;

  • Влезте в уеб сървър
  • Отидете в папката apache и папка
  • Изпълнен httpd с -v, за да получите подробности за версията.

[[Имейл защитен] sbin] # ./httpd -v
Версия на сървъра: Apache / 2.2.15 (Unix)
Създаден сървър: 18 юли 2016 15:24:00
[[Имейл защитен] sbin] #

Освен това можете да използвате и об команда за проверка на инсталираната версия.

[[Имейл защитен] ~] # rpm -qa | grep httpd
уеб–2.2.15-54.el6.centos.x86_64
уеб-инструменти-2.2.15-54.el6.centos.x86_64
[[Имейл защитен] ~] #

5. Как да разбера дали работи уеб сървър?

Има няколко начина да откриете това.

  1. Влезте в уеб сървър и прегърнете за „httpd“ процес

ps -ef | grep httpd

  1. Проверете за всяко предупреждение в таблото за наблюдение.
  2. Проверете дали вашият apache IP: порт е достъпен в браузъра

Ex: http://yourapacheserver.com

  1. Проверете дали конфигурираният IP и порт се слуша на сървъра с netstat

netstat -anlp | grep 80

6. Как да инсталирате Apache HTTP?

Има три възможни начина да инсталирате това.

Използвайки програмен код – можете да изтеглите източника и да го компилирате.

  • Изтеглете последната версия от http://httpd.apache.org/download.cgi
  • Извадете източника с помощна програма tar или gzip в зависимост от типа на файла: .tar или .tar.gz

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

  •  Придвижете се до мястото, където сте извлекли източника чрез командата cd и го конфигурирайте с помощта на командата ./configure на терминала
  • След това го компилирайте с помощта на командата make.
  • И накрая, използвайте командата make install, за да я инсталирате.

Ако искате да разберете повече опции как да го конфигурирате, можете да се възползвате от командата configure –help.

YUM хранилище – ако вашият сървър е свързан към Интернет или има вътрешно хранилище, можете да използвате yum, за да го инсталирате.

yum инсталирате httpd

RPM – Можете да изтеглите необходимия пакет RPM и да използвате командата rpm.

rpm -ivh packagename.rpm

7. Как да гарантираме, че Apache слуша само един IP адрес на сървъра?

Това често е необходимо, когато имате множество IP адреси на сървъра. За да сте сигурни, че Apache слуша само на определен IP, тогава трябва да посочите изрично IP и порт в директивата за слушане.

Ex:

Слушайте 10.10.10.10:80

8. Как да се гарантира, че Apache работи с не-root / никой потребител?

Това е възможно, като добавите Потребител & Групова директива във файл httpd.conf

Потребител апаш
Групов апаш

Горният пример за конфигуриране ще гарантира, че той започва с потребител „apache“. Трябва да се уверите, че потребителите съществуват на сървъра, преди да го конфигурирате.

9. Как да деактивирам индексирането на директория?

Можете да използвате „Опции -Indexes“ в съответната директива на директорията.

Ex:

Опции -Индекси

10. Кой модул е ​​необходим, за да има възможност за пренасочване?

mod_rewrite отговаря за пренасочването и това трябва да се коментира във файл httpd.conf.

LoadModule rewrite_module модули / mod_rewrite.so

11. Можете ли да промените порта за слушане от по подразбиране на нещо друго?

Да, това е възможно, като посочите номера на порта в Слушам директива.

Например: да накара Apache да слуша на 9000 порт до 10.10.10.10 IP адрес.

Слушайте 10.10.10.10:9000

12. Как да защитите уебсайт, хостван на уеб сървър Apache?

Има няколко начина да защитите уеб сървъра Apache, включително следния.

  • Внедряване на SSL
  • Интегриране с WAF (защитна стена на уеб приложение) като ModSecurity и др.
  • Използване на облачен доставчик на сигурност

13. Какви са журналните файлове, генерирани от Apache?

Създадени са два популярни лог файлове;

  • access.log – всички данни за заявката с кода на състоянието
  • error.log – улавяне на всички грешки в apache или свързване към бекенда

14. Как да създадете КСО?

Можете да използвате следната OpenSSL команда или генерирайте CSR онлайн.

За да създадете нов CSR с частен ключ

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

Разгледайте OpenSSL мамяния за повече команди.

15. Какво е виртуален хостинг?

Виртуалният хостинг в Apache ви позволява да хоствате множество уебсайтове в един екземпляр. Можете или да създадете IP базирани или Базирано на име на виртуален хостинг.

16. Какъв модул е ​​необходим за свързване към WebSphere?

mod_was_ap22_http.so трябва да се добави във httpd.conf файл, за да се интегрира с IBM WAS.

17. Как да поставите ниво на регистрация в режим на отстраняване на грешки?

Често е необходимо, когато отстранявате проблема и искате да заснемете повече подробности. Можете да промените нивото на регистриране на грешки, като осигурите следното във файла httpd.conf.

Отстраняване на грешки в LogLevel

18. Кой модул е ​​необходим за активиране на SSL?

Модулът mod_ssl трябва да бъде коментиран преди внедряването на SSL.

LoadModule auth_basic_module модули / mod_ssl.so

19. Какво е името на модула WebLogic?

mod_wl_22.so

20. Какво е нивото на лога, налично в Apache?

Конфигурацията по подразбиране е зададена на „предупреждавам”Обаче е възможно и следното.

  • отстраняване на грешки
  • инфо
  • предупреждавам
  • известие
  • критичният
  • аларма
  • Emerg
  • грешка

21. Какво е DocumentRoot?

Директива DocumentRoot е конфигурацията, в която можете да определите местоположението на папката, откъдето ще се обслужват статичните файлове. Нарича се още като WebRoot.

Местоположението по подразбиране DocumentRoot е / var / www / html

22. Как да разгърнете война или JAVA приложения в Apache?

Страхувам се, Apache е уеб сървър и разгръщането на базирано на Java приложение не е възможно с него. Можете обаче да интегрирате Java приложения сървъри като WebLogic, WebSphere, JBoss, където можете да разгърнете война, файлове за уши.

23. Каква е разликата между Apache Web Server и Apache Tomcat?

Apache Web е HTTP сървър за обслужване на статично съдържание, където Tomcat е сервлет контейнер за разполагане на JSP файлове.

Винаги можете да интегрирате Apache HTTP с Tomcat, обаче, въз основа на изискването, което трябва да изберете един от тях. Ако имате нужда от подходящ уеб сървър, тогава Apache HTTP друго Tomcat за JSP-Servlet Container.

24. Как Apache може да действа като прокси сървър?

Можете да използвате mod_proxy модул, който да използвате като прокси сървър. Модулът mod_proxy може да се използва за свързване към задния сървър като Tomcat, WebLogic, WebSphere и т.н..

25. Как да конфигурирате Apache дневник, така че той улавя времето, необходимо за обслужване на заявка?

Можете да добавите „“Във файл httpd.conf под директива LogFormat, за да уловите времето за отговор, необходимо за обслужване на заявката. Ще покаже време в микросекунди.

LogFormat "% h% l% u% t \"% R \" %>s% b \"% {Referer} аз \" \"% {Потребителски агент} аз \" %Д" комбиниран

Рестартирайте уеб сървъра на Apache и можете да видите резултатите.

182.19.197.23 – – [02 / октомври / 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, като Gecko) Chrome / 53.0.2785.116 Safari / 537.36" 1515
182.19.197.23 – – [02 / октомври / 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, като Gecko) Chrome / 53.0.2785.116 Safari / 537.36" 424
182.19.197.23 – – [02 / октомври / 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, като Gecko) Chrome / 53.0.2785.116 Safari / 537.36" 472

26. Какъв инструмент използвате за анализ на журнали?

Трябва да говорите истината, но за да ви дадем идея, можете да използвате GoAccess, SumoLogic или няколко споменати тук.

27. Какви са уеб сървърите, над които сте работили заедно с Apache?

Отново, по-добре кажете истината, но за да сте наясно, на пазара има много уеб сървъри, включително следните.

  • Nginx
  • Microsoft IIS
  • LiteSpeed
  • GWS

28. Как да проверите файла httpd.conf, за да се гарантира, че няма синтаксисна грешка в конфигурацията?

httpd –t ще ви помогне да проверите синтаксиса.

[[Имейл защитен] httpd] # / usr / sbin / httpd -t
Синтаксис ОК
[[Имейл защитен] уеб-] #

Като алтернатива можете да използвате и командата apachectl.

[[Имейл защитен] ~] # / usr / sbin / apachectl configtest
Синтаксис ОК
[[Имейл защитен] ~] #

29. Как да изпълним показателя за ефективност на Apache?

Можете да използвате инструмент като ApacheBench, SIEGE за извършване на тест за натоварване на уеб сървъри, включително Apache. Друга опция за провеждане на стрес тест онлайн, за да видите цялостното представяне на уеб приложението под товар.

30. Как да получите поддръжка за Apache Web Server, ако нещо не е наред?

Apache е уеб сървър с отворен код, така че няма поддръжка на ниво предприятие. Можете обаче да повишите a доклад за грешки или задайте въпрос относно Stack Overflow.

31. Как да осигурите стартирането на уеб сървъра след рестартиране на сървъра?

Ако използвате Linux, можете да поставите скрипт в /etc/init.d/ и да активирате да стартирате при зареждане с помощта на команда chkconfig

Да речем, че създавате файл, наречен Apache и поставете под /etc/init.d

chkconfig –add apache
chkconfig apache на

ако в Windows, след това се уверете, че типът на стартиране е избран „Автоматично“.

32. каква е разликата между уеб сървъра Apache и Nginx?

И двете са категоризирани като уеб сървър и ето някои от основните разлики.

  • Nginx е уеб сървър, базиран на събития, където Apache е базиран на процеси
  • Nginx е известен с по-добри показатели от Apache
  • Apache поддържа широк спектър от ОС, където Nginx не поддържа OpenVMS и IBMi
  • Apache има голям брой интеграция на модули с сървър за приложения, където Nginx все още наваксва
  • Nginx е лек и бързо улавя пазарния дял. Ако сте нови за Nginx, тогава може да ви е интересно да разгледате моите статии за Nginx.

33. Как бихте убили Apache, ако грациозният стоп не работи?

Ако работи на Linux, тогава можете да използвате команда kill.

Разберете PID на Apache с помощта на ps -ef | grep http

След това го убийте

убий $ PIDNUMBER

ако нормалното убийство не работи, опитайте убийте -9

убий -9 $ PIDNUMBER

Ако е в Windows, завършете задачата Apache от диспечера на задачите.

34. Как да намерите файл httpd.conf, ако не знаете местоположението на инсталацията?

В Linux можете да използвате команда find.

Да предположим, че знаете, че трябва да е във / app файлова система, след което можете да използвате следната команда.

find / apps -name httpd.conf

Но ако не сте сигурни коя файлова система тогава можете да намерите в / файлова система, но имайте предвид, че може да отнеме много време въз основа на общия размер на файловата система.

find / -name httpd.conf

35. Какви са различните вкусове на уеб сървъра Apache, който познавате?

  • IBM HTTP Server – известен като IHS и често използван с IBM WebSphere Application Server
  • Oracle HTTP Server – известен като OHS често използван с Oracle Weblogic сървър

36. Къде се намира Apache в местоположението на центъра за данни?

Можете да обясните въз основа на вашия опит, но обикновено за приложения, насочени към Интернет, това ще бъде в интернет DMZ мрежата и за интранет, основна мрежа.

Но отново това ще се различава според приложението / организацията.

37. Как да скриете подробности за версията на сървъра в заглавката на отговорите на HTTP?

Добавете следното във файла httpd.conf и рестартирайте уеб сървъра

ServerTokens Prod
Подпис на сървъра изключен

Това ще скрие версията и ще покаже сървъра като „Apache„Само.

38. Какво означава 200, 403 & 503 HTTP кодове за грешки означават?

  • 200 – намерено съдържание и сервирано ОК
  • 403 – опита се да получи достъп до ограничен файл / папка
  • 503 – сървърът е твърде зает, за да обслужва заявката и с други думи – услугата не е достъпна.
  • Вижте инфографиката на кода за отговор на HTTP за повече.

39. Как да деактивирате проследяване на HTTP заявки?

Добавете следното във файла httpd.conf и рестартирайте инстанцията

TraceEnable изключен

40. Как да отстраните проблема с пристанищния конфликт?

netstat би бил полезен за отстраняване на проблема с пристанищния конфликт. Ако използвате няколко екземпляра на един сървър, препоръчително е да имате абсолютен IP: Порт, конфигуриран за директива за слушане.

41. Как да инсталирате модула на трета страна?

Можете да се възползвате от Apache Toolbox. След като го изтеглите, извлечете го с помощта на помощната програма tar.

катран -xf Apachetoolbox-1.5.72.tar.gz

Отворете папката Apachetoolbox-1.5.72 с помощта на командата cd и изпълнете командата по-долу, за да изберете модули за вашия Apache сървър.

./install.sh

Той предоставя модули като mod_ip_forwarding, mod_auth_mysql и mod_auth_samba за компилиране с уеб сървъра Apache. Въпреки че можете да включите тези модули ръчно, с Apache Toolbox е по-лесно.

42. Как да присвоите няколко имена на виртуални хостове?

Можете да използвате директивата ServerAlias, както е показано по-долу.

ServerName example.com
ServerAlias ​​awesome.com fantastic.com

43. Как да ограничите размера на качването?

Имам уеб приложение, което позволява на потребителите да качват файлове като текстови документи, pdf и т.н. Как да огранича качването на файлове от потребителите?

Можете да използвате директивата LimitRequestBody, за да ограничите размера на файла за качване.

LimitRequestBody 9000

Стойността, присвоена на LimitRequestBody, позволява на Apache да приема и съхранява качвания на файлове от 9000 байта от потребителите. Можете да коригирате стойността въз основа на изискването.

44. Как да ограничите достъпа чрез IP?

Може да искате част от корен на контекста да бъде достъпен от разрешени IP адреси. За целта можете да се възползвате от mod_authz_core или mod_authz_host модули за ограничаване на достъпа чрез директивата Require.

Изисква се 10.0.0.2 10.0.0.4 192.168.34.23 192.168.34.23

Правейки по-горе, Apache ще обслужва заявки само ако исканията са направени от изброените IP адреси.

Трябва да посочите директивата за изискване в директорията, в която искате да разрешите или да откажете достъп до ресурси.

заключение

Надявам се горните въпроси и отговор да ви помогнат да се подготвите за администратор на уеб сървър интервю.

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