Apache является самым популярным веб-сервером, и если вы собираетесь работать в качестве администратора промежуточного программного обеспечения / системы / веб-администратора, вы должны с ним ознакомиться. Apache HTTP – веб-сервер с открытым исходным кодом для Windows & UNIX.


Несколько дней назад я писал о WebSphere Interview Questions, и многие из вас просили написать об Apache Web Server, так что вы идете.

Следующие вопросы часто задаются в интервью от начинающего до экспертного уровня. Большая часть организации будет иметь веб-сервер, управляемый Middleware / системным администратором, а также сервер приложений и другие компоненты..

Давайте начнем с вопросы интервью в режиме реального времени & ответы

Contents

1. Как остановить / запустить веб-сервер Apache?

Вы можете перезагрузить, перейдя в расположение экземпляра Apache >> папку bin и выполнить скрипт apachectl.

./ apachectl stop
./ apachectl начало

Вы также можете использовать скрипт, расположенный в /etc/init.d/. В основном он будет называться «apache» или «httpd»

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

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

httpd stop
служба httpd start

2. Какой порт по умолчанию для HTTP и HTTPS?

Порт по умолчанию для HTTP – 80, а HTTPS – 443. Извлекайте порты по умолчанию для других приложений, перечисленных здесь..

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

httpd.conf – это основной файл конфигурации, используемый в Apache.

4. Как проверить версию запущенного веб-сервера Apache?

Есть несколько способов найти это, но точнее было бы;

  • Вход на веб-сервер
  • Перейти к экземпляру Apache и папке bin
  • Выполнен httpd с -v, чтобы получить информацию о версии.

[[Электронная почта защищена] sbin] # ./httpd -v
Версия сервера: Apache / 2.2.15 (Unix)
Построен сервер: 18 июля 2016 15:24:00
[[Электронная почта защищена] SBIN] #

Кроме того, вы также можете использовать оборотов в минуту команда для проверки установленной версии.

[[Электронная почта защищена] ~] # rpm -qa | grep httpd
HTTPD-2.2.15-54.el6.centos.x86_64
HTTPD-инструменты-2.2.15-54.el6.centos.x86_64
[[Электронная почта защищена] ~] #

5. Как узнать, работает ли веб-сервер?

Есть несколько способов найти это.

  1. Войдите на веб-сервер и выполните grep для процесса httpd

ps -ef | grep httpd

  1. Проверьте наличие любых предупреждений на панели мониторинга..
  2. Проверьте, доступен ли ваш apache IP: порт в браузере

Пример: 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 для его установки.

ням установить httpd

RPM – Вы можете скачать необходимый пакет RPM и использовать команду rpm.

rpm -ivh packagename.rpm

7. Как обеспечить, чтобы Apache слушал только один IP-адрес на сервере?

Это часто необходимо, когда у вас есть несколько IP-адресов на сервере. Чтобы Apache прослушивал только указанный IP-адрес, вам нужно явно указать IP-адрес и порт в директиве Listen.

Пример:

Слушайте 10.10.10.10:80

8. Как обеспечить работу Apache с пользователем без полномочий root / nobody?

Это можно сделать, добавив пользователя & Групповая директива в файле httpd.conf

Пользователь apache
Группа apache

Приведенный выше пример конфигурации гарантирует, что он запускается пользователем «apache». Вы должны убедиться, что пользователи существуют на сервере перед его настройкой.

9. Как отключить индексацию каталогов?

Вы можете использовать «Options -Indexes» в соответствующей директиве каталога.

Пример:

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

10. Какой модуль должен иметь возможность перенаправления?

mod_rewrite отвечает за перенаправление, и это должно быть раскомментировано в файле httpd.conf.

LoadModule rewrite_module modules / mod_rewrite.so

11. Можете ли вы изменить порт прослушивания со стандартного на другое??

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

Пример: заставить Apache прослушивать порт 9000 по IP-адресу 10.10.10.10.

Слушай 10.10.10.10:9000

12. Как обезопасить веб-сайт, размещенный на веб-сервере Apache?

Существует несколько способов защиты веб-сервера Apache, включая следующие..

  • Реализация SSL
  • Интеграция с WAF (брандмауэром веб-приложений), таким как ModSecurity и т. Д..
  • Использование облачного провайдера безопасности

13. Какие файлы журнала генерируются Apache?

Созданы два популярных файла журнала;

  • access.log – все детали запроса с кодом статуса
  • error.log – захватить все ошибки в apache или подключиться к бэкэнду

14. Как создать CSR?

Вы можете использовать следующую команду 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 modules / mod_ssl.so

19. Как называется модуль WebLogic??

mod_wl_22.so

20. Какой уровень журнала доступен в Apache?

Конфигурация по умолчанию установлена ​​на «предупреждатьОднако возможно и следующее.

  • отлаживать
  • Информация
  • предупреждать
  • уведомление
  • критика
  • аварийная сигнализация
  • АВАРИЙНАЯ
  • ошибка

21. Что такое DocumentRoot?

Директива DocumentRoot – это конфигурация, в которой вы можете указать расположение папки, из которой будут обрабатываться статические файлы. Это также называется WebRoot.

Расположение DocumentRoot по умолчанию: / var / www / html

22. Как развернуть приложения war или JAVA в Apache?

Боюсь, Apache – это веб-сервер, и развертывание приложений на основе Java невозможно с ним. Однако вы можете интегрировать серверы приложений Java, такие как WebLogic, WebSphere, JBoss, где вы можете развертывать файлы war, ear..

23. В чем разница между веб-сервером Apache и Tomcat Apache?

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, чтобы он фиксировал время, необходимое для обработки запроса?

Можете добавить “% D”В файле httpd.conf под директивой LogFormat, чтобы зафиксировать время ответа, необходимое для обработки запроса. Это покажет время в микросекундах.

LogFormat "% h% l% u% t \"%р\" %>s% b \"% {Referer} я \" \"% {User-Agent} я \" % D" комбинированный

Перезапустите веб-сервер 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
Синтаксис ОК
[[Электронная почта защищена] HTTPD] #

В качестве альтернативы, вы также можете использовать команду apachectl.

[[Электронная почта защищена] ~] # / usr / sbin / apachectl configtest
Синтаксис ОК
[[Электронная почта защищена] ~] #

29. Как выполнить тест производительности Apache?

Вы можете использовать такой инструмент, как ApacheBench, SIEGE, чтобы выполнить нагрузочный тест на веб-серверах, включая Apache. Еще одна возможность провести стресс-тестирование в Интернете, чтобы увидеть, как веб-приложение работает под нагрузкой..

30. Как получить поддержку веб-сервера Apache, если что-то не так?

Apache – это веб-сервер с открытым исходным кодом, поэтому поддержка на уровне предприятия отсутствует. Тем не менее, вы можете поднять отчет об ошибке или задайте вопрос о переполнении стека.

31. Как обеспечить запуск веб-сервера после перезагрузки сервера?

Если вы работаете в Linux, вы можете поместить скрипт в /etc/init.d/ и включить запуск при загрузке с помощью команды chkconfig

Допустим, вы создаете файл с именем апаш и поместите в /etc/init.d

chkconfig – добавить apache
chkconfig apache on

если в Windows, то убедитесь, что выбран тип запуска «Автоматически».

32. в чем разница между Apache и Nginx веб-сервером?

Оба относятся к категории веб-серверов, и вот некоторые из основных отличий.

  • Nginx – это веб-сервер на основе событий, где Apache основан на процессах.
  • Nginx известен лучшей производительностью, чем Apache
  • Apache поддерживает широкий спектр ОС, где Nginx не поддерживает OpenVMS и IBMi.
  • Apache имеет большое количество модулей интеграции с внутренним сервером приложений, где Nginx все еще догоняет
  • Nginx легок и быстро захватывает долю рынка. Если вы новичок в Nginx, то вам может быть интересно ознакомиться с моими статьями о Nginx.

33. Как бы вы убили Apache, если не работает grace-stop??

Если работает на Linux, то можете использовать команду kill.

Узнайте PID Apache, используя ps -ef | grep http

Тогда убей это

убить $ PIDNUMBER

если обычное kill не работает, попробуйте kill -9

убить -9 $ PIDNUMBER

Если на Windows, то завершите задачу Apache из диспетчера задач.

34. Как найти файл httpd.conf, если вы не знаете место установки?

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

Предположим, вы знаете, что он должен быть в файловой системе / apps, тогда вы можете использовать следующую команду.

find / apps -name httpd.conf

Но если вы не уверены в том, какую файловую систему вы можете найти в / file system, но имейте это в виду, это может занять много времени в зависимости от общего размера файловой системы..

найти / -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
ServerSignature Off

Это скроет версию и покажет Сервер как «апаш” Только.

38. Что значит 200, 403 & 503 HTTP коды ошибок означают?

  • 200 – контент найден и обслуживается нормально
  • 403 – попытался получить доступ к ограниченному файлу / папке
  • 503 – сервер слишком занят для обслуживания запроса, иными словами – служба недоступна.
  • См. HTTP код ответа инфографики для получения дополнительной информации..

39. Как отключить трассировку HTTP-запросов?

Добавьте следующее в файл httpd.conf и перезапустите экземпляр

TraceEnable off

40. Как устранить проблему конфликта портов?

netstat будет полезен для устранения проблемы конфликта портов. Если на одном сервере запущено несколько экземпляров, рекомендуется использовать абсолютный IP: порт, настроенный для директивы Listen.

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

Вы можете использовать Apache Toolbox. После загрузки распакуйте его с помощью утилиты tar.

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-адресов.

Вам необходимо указать директиву Require в каталоге, где вы хотите разрешить или запретить доступ к ресурсам..

Вывод

Я надеюсь, что приведенные выше вопросы и ответы помогут вам подготовиться к администратору веб-сервера интервью.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me