Сообщение на тему дополнительные опции web сервера

Обновлено: 20.05.2024

  • Для учеников 1-11 классов и дошкольников
  • Бесплатные сертификаты учителям и участникам

Установка и настройки WEB-сервера IIS и FTP-сервера под управлением ОС Windows.

Для выполнения практической работы необходимо разобраться и научиться работать с следующими утилитами администрирования операционной системы Windows Server:

  1. Установка и удаление программ;
  2. Брандмауэр;
  3. Internet Information Services;
  1. Запустите Windows
  2. Поработайте свыше перечисленными утилитами. Изучите их возможности и сферы применения.
  3. Что нужно выполнить для сдачи практической работы:

a) Установить WEB-сервер IIS;

b) Создать WEB-страницу и сделать её стартовой (страница по умолчанию) для WEB-сервера;

c) Открыть доступ к WEB-серверу по сети. При подключении по сети должна отображаться страница по умолчанию;

d) Установить FTP-сервер;

e) Открыть доступ к FTP-серверу по сети;

f) Настроить следующие права доступа к FTP-серверу:

▪ Пользователь anonymous – доступ на чтение;

▪ Пользователь ftp_user – полный доступ.

Шаги выполнения

Установка IIS и FTP-сервера

Открываем Панель управления.









Создание страницы по умолчанию.

Создаем файл C:\inetpub\wwwroot\start.html со следующим содержанием:





Новый документ по умолчанию отображается в списке.


Открытие доступа к WEB-серверу по сети




Создание сайта FTP





Открытие доступа к FTP-серверу по сети


Настройка прав доступа к FTP-серверу





Итоговы разрешения представлены на скриншоте ниже


Проверка работы FTP-сервера.

Команда: STOR 123

Ответ: 550-Access is denied.

Ответ : Win32 error: Access is denied.

Ответ : Error details: Authorization rules denied the access.

Ошибка: Критическая ошибка при передаче файлов


Новый файл не создаётся, т. к. анонимный пользователь имеет право только на чтение.


  • подготовка к ЕГЭ/ОГЭ и ВПР
  • по всем предметам 1-11 классов


Курс повышения квалификации

Охрана труда

  • Сейчас обучается 124 человека из 44 регионов


Курс профессиональной переподготовки

Охрана труда


Курс профессиональной переподготовки

Библиотечно-библиографические и информационные знания в педагогическом процессе

  • ЗП до 91 000 руб.
  • Гибкий график
  • Удаленная работа

Дистанционные курсы для педагогов

Свидетельство и скидка на обучение каждому участнику

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

5 605 491 материал в базе

Самые массовые международные дистанционные

Школьные Инфоконкурсы 2022

Свидетельство и скидка на обучение каждому участнику

Другие материалы

Вам будут интересны эти курсы:

Оставьте свой комментарий

  • 17.02.2022 49
  • DOCX 1.3 мбайт
  • 0 скачиваний
  • Оцените материал:

Настоящий материал опубликован пользователем Долонов Александр Сергеевич. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

Автор материала

40%

  • Подготовка к ЕГЭ/ОГЭ и ВПР
  • Для учеников 1-11 классов

Московский институт профессиональной
переподготовки и повышения
квалификации педагогов

Дистанционные курсы
для педагогов

663 курса от 690 рублей

Выбрать курс со скидкой

Выдаём документы
установленного образца!

Учителя о ЕГЭ: секреты успешной подготовки

Время чтения: 11 минут

В Россию приехали 10 тысяч детей из Луганской и Донецкой Народных республик

Время чтения: 2 минуты

Школы граничащих с Украиной районов Крыма досрочно уйдут на каникулы

Время чтения: 0 минут

Академическая стипендия для вузов в 2023 году вырастет до 1 825 рублей

Время чтения: 1 минута

Студенты российских вузов смогут получить 1 млн рублей на создание стартапов

Время чтения: 3 минуты

Онлайн-тренинг: нейрогимнастика для успешной учёбы и комфортной жизни

Время чтения: 2 минуты

Каждый второй ребенок в школе подвергался психической агрессии

Время чтения: 3 минуты

Подарочные сертификаты

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

Все материалы, размещенные на сайте, созданы авторами сайта либо размещены пользователями сайта и представлены на сайте исключительно для ознакомления. Авторские права на материалы принадлежат их законным авторам. Частичное или полное копирование материалов сайта без письменного разрешения администрации сайта запрещено! Мнение администрации может не совпадать с точкой зрения авторов.

Цель лекции: дать определение понятию "веб-сервер" и сформировать представление о работе этого механизма.



Одной из наиболее важных задач, которые решаются при построении веб-сервера является задача обеспечения масштабируемости (т.е. возможности увеличения количества обслуживаемых пользователей) и защищенности от внешних атак. Поскольку веб-сервер работает в открытой среде – глобальной сети Интернет – то зачастую доступ к нему может осуществляться откуда угодно. Это делает веб-сервер подверженным большим нагрузкам и потенциальным атакам. Наиболее распространенными атаками на веб-сервер является обращение к веб-серверу с большим количеством запросов и их высокой частотой. В этом случае веб-сервер не сможет быстро обрабатывать все запросы, а это может сказаться на производительности веб-сервера для настоящих пользователей. Особенно остро подобным атакам подвержены веб-сервера, на которых исполняется какой-то внешний программный код за исключением программного кода самого веб-сервера. Обычно для борьбы с подобными атаками блокируются все запросы, которые приходят с определенного IP-адреса. Кроме того, в подобных случаях следует позаботится об оптимизации программного кода приложения, например, использовать кэширование – в этом случае при обработке каждого запроса нагрузка на центральный процессор будет меньше, что может существенно усложнить задачу атакующим.



При анализе HTTP-запросов хорошо видно, что HTTP-заголовок " Host " отличается в каждом из запросов. Таким образом, становится понятно, что веб-сервер анализирует этот заголовок и отправляет клиенту содержимое соответствующего сайта. Схематически этот процесс можно представить следующим образом.


Подобную схему виртуального хостинга использует большинство компаний, занимающихся размещением веб-сайтов в Интернет. Поскольку в этом случае на одном физическом сервере могут размещаться большое количество совершенно различных сайтов, то этот способ один из самых дешевых. Однако, в рамках виртуального хостинга обычно запрещено запускать различные службы и сервисы, а также существует ограничение по степени использования центрального процессора. Это означает, что в случае, когда веб-сайт потребляет слишком много серверных ресурсов, то владельцу сайта предлагается либо перейти на более дорогой тариф (с большим количеством выделенных ресурсов), либо при превышении допустимого порогового значения веб-сайт блокируется на некоторое время. Поскольку иногда от сервера требуется большое количество ресурсов или в рамках этого сервера необходимо запускать дополнительные приложения или службы, виртуальный хостинг можно использовать не всегда. В этом случае обычно арендуют выделенный сервер – физический или виртуальный. Однако, это более дорогой вид размещения веб-приложений в сети Интернет, поэтому зачастую используется именно виртуальный хостинг.

Поскольку программный код веб-приложения обычно упаковывается в отдельные модули и поставляется независимо, то требуются механизмы взаимодействия этих двух частей, т.е. интерфейс взаимодействия. В данном случае под интерфейсом взаимодействия понимается набор правил, по которым веб-сервер и приложение будут взаимодействовать друг с другом. Фактически, схема обработки запроса может выглядеть следующим образом.


Исторически сложилось так, что существует два главных типов интерфейс взаимодействия внешнего приложения и веб-сервера - CGI и ISAPI.

С другой стороны, необходимость создания каждый раз нового процесса влечет за собой дополнительные накладные расходы на создание процесса (создание процесса – дорогостоящая операция с точки зрения операционной системы) и передачи данных через границы процессов. Этот факт является серьезным недостатком и оказывает существенное влияние на масштабируемость веб-приложения (возможность обрабатывать большее количество поступающих запросов).

ISAPI (Internet Server API) – альтернативный способ взаимодействия веб-сервера и веб-приложения. В отличии от CGI, при взаимодействии в рамках интерфейса ISAPI, при поступлении очередного запроса, веб-сервер инициирует создание нового потока в рамках основного процесса, в котором работает веб-сервер. Поскольку с точки зрения операционной системы создание потока – это менее дорогостоящая операция, чем создание процесса, то такие приложения на практике оказываются более масштабируемыми. Кроме того, упрощается взаимодействие веб-сервера и веб-приложения, поскольку в этом случае используется единое адресное пространство в рамках операционной системы (поскольку весь код работает в одном и том же процессе). Однако, в случае серьезных неполадок в веб-приложении, которое взаимодействует с веб-сервером в рамках ISAPI, веб-сервер также потенциально подвергается риску быть завершенным. Поскольку веб-сервер и веб-приложение работают в одном и том же процессе, это действительно так. Поэтому разработчикам программного кода веб-сервера, поддерживающего ISAPI следует уделить этому вопросу особое внимание.

Например, для получения итоговой страницы, которую пользователь будет просматривать в браузере, сервер приложений может заполнить HTML-шаблон данными из базы данных. По этому принципу работают такие сайты, как MDN или Википедия, которые состоят из тысяч веб-страниц, являющихся не реальными HTML документами, а несколькими HTML-шаблонами и объемными базами данных. Эта структура упрощает и ускоряет сопровождение веб-приложений и доставку контента.

Для чего нужен веб-сервер

Также к задачам веб-серверов относятся создание журналов ошибок и обращений к файлам (логов), аутентификация и авторизация пользователей, использование настроек для обработки файлов.

Типы веб-серверов

На сегодняшний день среди веб-серверов выделяют несколько ведущих систем:

Рейтинг-2021 для веб-серверов

Наибольшее количество пользователей по всему миру в 2021 году имеют веб-серверы:

  • Apache - 40,86%;
  • Nginx - 27,66%;
  • IIS - 11,01;
  • LiteSpeed - 2,4%;
  • Apache Traffic Server - 0,53%;
  • OpenGSE - 0,44%;
  • Phusion Passenger - 0,36%;
  • Apache Tomcat - 0,16%.

Как настроить веб-сервер

Создание такого стека можно рассмотреть на примере системы управления ВМ libvirt в Linux/Ubuntu, которая используется во многих высокоуровневых облачных платформах. Для этого формируется инфраструктура, с помощью которой сможем быстро и легко подготовить ферму виртуальных серверов требуемой конфигурации. Данный процесс включает три этапа:

  • установка виртуального сетевого моста, который будет использоваться для коммуникации ВМ друг с другом и доступа реверс-прокси во внешнюю среду;
  • установка и настройка libvirt;
  • подготовка набора шаблонов ВМ.

Настройка сетевого моста происходит следующим образом: устанавливаются инструменты управления мостом, выбирается основной сетевой интерфейс и редактируются настройки. В качестве IP-адреса и маски подсети здесь следует использовать физические адреса. Предполагается, что сервер находится в локальной сети, а доступ во внешнюю среду организован с помощью шлюза. После этого проводятся подъем и проверка работоспособности бриджа, установка и отладка libvirt и создание виртуальной машины под шаблон ВМ.

Готовый шаблон ВМ используется для создания всех необходимых серверов из связки LAMP. Вначале проводятся настройки Apache/PHP. Чтобы создать новую ВМ на базе уже существующей, используется команда virt-clone: sudo virt-clone -o web_devel -n database_devel -f /path/to/database_devel.img \--connect=qemu:///system

  • o: оригинальная виртуальная машина;
  • n: имя новой виртуальной машины;
  • f: путь к файлу, локальному тому или разделу для использования новой виртуальной машиной;
  • connect: определяет к какому супервизору подключаться.

Таким образом создается новая ВМ, аналогичная уже существующей. Теперь необходимо запустить эту машину, зайти на нее с помощью все того же virt-viewer, а дальше - установить и запустить на ней связку Apache/PHP и остальные серверы. Чтобы проверить, что машина действительно запустилась, используется команду virsh: virsh -c qemu:///system start web_devel

Вторую команду следует выполнять опять же с удаленной машины, имеющей графический интерфейс. В первую очередь потребуется изменить ее IP-адрес, который достался в наследство от шаблонной ВМ. Затем - установить и настроить MySQL, добавив в в файл необходимые строки конфигурации и перезапустив сервер. После этого вводятся пользователи и создается база данных. На завершающем этапе iptables конфигурируется так, чтобы он пропускал только пакеты для MySQL. Чтобы настройки вступили в силу после перезагрузки, эти строки следует добавить в /etc/rc.local (без sudo).

Теперь следует создать и настроить сервер memcached. Для этого, как и в случае с сервером MySQL, требуется создать клон заранее подготовленного шаблона, запустить виртуальный сервер и подключиться к нему, добавить правило iptables, закрывающее все порты, кроме порта memcached и установить аналогичные строки в /etc/rc.local.

Установка и настройка Apache/PHP проводится на одной виртуальной машине. Это связано с особенностями архитектуры PHP, выполненного в виде Apache-модуля. Процесс установки Apache/PHP будет выглядеть так:

  • создание и запуск клона;
  • правка сетевых конфигураций и постановка необходимых модулей;
  • размещение сайта в каталоге /var/www/html и перезапуск Apache;
  • добавление правила iptables для пропуска трафика на 80-й порт.

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

Чтобы защититься от возможных проблем с конфигурацией и прочих сбоев, сразу после настройки окончательной конфигурации следует сделать клоны всех серверов. В этом случае вышедший из строя сервер можно будет быстро восстановить из работоспособной копии. Но Apache и MySQL таким образом, восстановить не удастся, так как они содержат динамически генерируемые данные; однако эту информацию можно заранее расположить на втором виртуальном диске, который достаточно будет подключить после восстановления рабочей копии.

Подбираем оборудование

Основное требование, которое предъявляется к аппаратной платформе для веб-сервера - высокая скорость работы, которая показывает минимальное время отклика у накопителя, хранящего запрашиваемые данные. Поэтому для создания оперативно действующего веб-сервера рекомендуется использовать оборудования с твердотельными накопители, которые быстрее и надежнее традиционных жестких дисков.

Чаще всего аппаратная платформа веб-серверов представляет собой компактные одноюнитовые решения с поддержкой одного-двух процессоров. К наиболее популярным из них относятся:

  • HP ProLiant DL360 Gen9 - сервер высокой плотности с одним или двумя процессорами (на выбор). Использование флагманских твердотельных накопителей NVMe PCIe в форм-факторе 2,5˝ объемом до 2 Тбайт позволяет снизить время задержки и повысить эффективность работы с данными.
  • HPE ProLiant DL360 Gen10. Высокопроизводительный двухпроцессорный сервер с возможностью установки процессоров Intel Xeon Scalable серий 3100, 4100, 5100, 6100 и 8100. Оснащается оперативной памятью DDR4 частотой 2666. Позволяет установить 10 SFF жестких дисков, или SSD-дисков, или NVMe.;
  • Dell R630 - двухпроцессорный стоечный сервер с большой плотностью установки. Поддерживает до 24 флэш-накопителей форм-фактора 1,8ʺ или до 10 дисков форм-фактора 2,5ʺ.

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

Как понять

Для современных приложений часто применяют клиент-серверную архитектуру. В такой архитектуре один сервер обслуживает много клиентов. Сервером выступает сетевой сервис (подробнее об этом в статье о настройке сети). Клиентом — программа пользователя, например, браузер.

Веб-приложения — это набор текстовых файлов, которые пересылаются пользователю специальной программой — веб-сервером. Понятие веб-сервер появилось в 1991 году с появлением первой такой программы.

Веб-сервер работает по следующей схеме:

Схема работы веб-сервера

Стартовая строка

В стартовой строке запроса указывается метод, ссылка и версия протокола, разделённые пробелом, например:

  1. Метод запроса;
  2. Путь на сайте (тот, что указывается после доменного имени);
  3. Протокол, который используется.

Версия протокола обязательно указывается в запросе, поскольку от неё зависит способ передачи данных и набор доступных методов.

  1. информацию о версии протокола, как в запросе;
  2. код состояния (Status Code), который однозначно определяет реакцию сервера на запрос;
  3. пояснение (Reason Phrase) к коду ответа для пользователя (является необязательным).

Заголовки

Пример заголовков запроса:

Пример заголовков ответа:

Модули и расширения

Сжатие данных

Загрузка страниц будет происходить быстрее, если размер ответа сервера будет маленьким. Поэтому любой современный сервер содержит модуль сжатия. Перед отправкой клиенту данные запаковываются, а на стороне клиента распаковываются с помощью одного из алгоритмов сжатия. Долгое время для этого использовался формат сжатия gzip, и все популярные браузеры его поддерживают.

В последние годы браузеры стали поддерживать ещё два формата: zopfli и brotli. Наиболее перспективным и эффективным является brotli, он поддерживается всеми современными браузерами.

С помощью сжатия можно оптимизировать загрузку страниц для текстовой части данных: HTML, CSS и JavaScript. Остальные ресурсы, как правило, уже подготовлены для загрузки в браузере. Например, для картинок должны быть найдены оптимальное соотношение визуального качества и степени сжатия, подходящие размеры и плотность пикселей.

Шифрование данных

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

Подключение сертификата настраивается на стороне веб-сервера, поскольку владелец сайта должен позаботиться о своих пользователях.

Проксирование

Веб-сервер не только отдаёт данные. Например, можно получить доступ к кукам браузера пользователя со стороны веб-сервера. Это позволяет сохранять промежуточные данные, которые могут помочь улучшению пользовательского опыта. Существуют и проблемы такой модели, которые связаны с приватностью пользователей в Интернете и их безопасностью.

Аутентификация и авторизация

Идентификация — процесс присваивания какого-либо имени объекту (например, пользователю или программе). Когда человек покупает билет на поезд или самолёт, необходимо представиться. В этот момент он проходит процедуру идентификации.

Аутентификация — подтверждение подлинности объекта. При покупке билета или уже на стойке регистрации нужно предъявить паспорт, чтобы доказать, что это тот самый человек, на которого оформлен билет. То есть аутентифицировать — значит подтвердить идентификатор объекта.

Авторизация — предоставление прав объекту на что-то. Если человек приходит с билетом на стойку регистрации или к вагону поезда и предъявляет билет и паспорт, ему выдают посадочный талон — возможность долететь / доехать и сопутствующие услуги, согласно классу обслуживания.

Для аутентификации пользователей нужно отдать веб-серверу учётные данные пользователя, то есть представиться и предъявить пару имени пользователя и пароля в качестве доказательства, что это тот самый пользователь.

Веб-сервер может самостоятельно обработать запрос или передать их приложению, в котором реализуется процедура аутентификации. В случае успешной аутентификации приложение посылает клиенту ответ с уникальным ключом через веб-сервер (токеном), который определяет сессию пользователя. То есть в этот момент происходит процедура авторизации. С этого момента и до окончании сессии (до выхода из аккаунта) во все запросы клиента встраивается специальный заголовок. Ключ обозначает наличие у пользователя определённых прав. Согласно этим правам пользователю и предоставляются данные, предназначенные только ему.

Вы наверняка видели на сайтах аутентификацию через социальные сети или сторонний сервис. Аутентификация при этом происходит не на сервере, а на стороннем ресурсе. В результате аутентификации формируется токен, который передаётся серверу. После подтверждения личности, пользователю предоставляются определённые права (процедура авторизации), назначается специальный токен сессии, который также передаётся в заголовках вместе с запросами от клиента.

Пример заголовка для авторизации клиента на сервере:

При использовании кук на клиенте создаётся отдельная запись, в которой указывается уникальный токен сессии. Веб-сервер имеет доступ к этому токену, что позволяет всегда проверить факт авторизации.

Есть и другие способы аутентификации и авторизации, которые поддерживаются веб-сервером.

Кэширование

Веб-сервер проводит мониторинг и кэширует ответы клиентам. Это происходит автоматически. Если запросы совпадают, то веб-сервер формирует обновляемый кэш, из которого он сразу отдаёт ответ клиенту, не выполняя обработку запроса. Время обновления актуальности ответа и стратегия кэширования устанавливается в настройках веб-сервера.

Веб-серверы могут обеспечить кэширование и на стороне клиента, чтобы снизить нагрузку на сеть. Для работы с кэшированием используются специальные заголовки. Например, сервер может передать заголовок клиенту:

Такой заголовок сообщит клиенту, что запрошенные данные можно не обновлять целый год (в параметре max - age указывается количество секунд). Для статического контента, который редко обновляется или не обновляется вовсе, такой подход позволяет сэкономить массу трафика в сети.

Читайте также: