По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Nginx - это веб-сервер на базе Linux и прокси-приложение. Nginx - это мощный инструмент для перенаправления и управления веб-трафиком. Его можно легко настроить для перенаправления незашифрованного веб-трафика HTTP на зашифрованный HTTPS-сервер. Это руководство покажет вам, как перенаправить HTTP на HTTPS с помощью Nginx. Что нам потребуется Сервер Linux под управлением Nginx Учетная запись пользователя с привилегиями sudo Удаленный вход на веб-сервер (необязательно, требуется только в том случае, если вы не работаете непосредственно с веб-сервером) Доступ к терминалу/командной строке (Ctrl-Alt-T или Ctrl-Alt-F2) Редирект с HTTP на HTTPS Для принудительного перенаправления HTTP на HTTPS вам необходимо отредактировать файл конфигурации Nginx. В большинстве случаев вы можете найти этот файл в каталоге /etc/nginx/sites-available. Если не найдено, найдите его здесь: /etc/nginx/nginx.conf, /usr/local/nginx/conf или /usr/local/etc/nginx. Найдя файл конфигурации Nginx, откройте его в текстовом редакторе с помощью команды: sudo nano /etc/nginx/sites-available/server.conf Замените местоположение фактическим местоположением и именем вашего файла конфигурации. Когда файл конфигурации будет открыт для редактирования, вставьте один из блоков кода ниже. Как только вы закончите редактирование, сохраните файл и выйдите. Затем перезапустите службу Nginx с помощью следующей команды: sudo service nginx restart Перенаправить весь HTTP-трафик на HTTPS Откройте файл конфигурации Nginx для редактирования, затем вставьте следующий код: server { listen 80 default_server; server_name _; return 301 https://$host$request_uri; } Вот разбивка команд: Listen 80: Это дает команду системе перехватывать весь HTTP-трафик через порт 80 Server_name _ ;: Это будет соответствовать любому имени хоста Return 301: Это говорит браузеру и поисковым системам, что это постоянное перенаправление https://$host$request_uri: Это короткий код для указания версии HTTPS того, что набрал пользователь После редактирования весь трафик сервера HTTP по умолчанию перенаправляется на HTTPS. Примечание: Это должен быть единственный блок сервера, прослушивающий порт 80. Блок сервера - это единица кода конфигурации в Nginx. Он помечен именем и фигурными скобками. Перенаправить определенный сайт У вас может быть несколько серверов, но только некоторые из них могут требовать HTTPS. Укажите имя сервера в блоке сервера для перенаправления выбранного трафика: server { listen 80 default_server; server_name my_app.com; return 301 https://my_app.com$request_uri; } Замените имя my_app.com на имя сервера, который вы собираетесь перенаправить. Вы также можете добавить дополнительные сайты, добавив еще один блок сервера. Просто скопируйте код и измените имя сервера. Принимать только SSL-соединения Добавьте этот код, чтобы убедиться, что сервер будет принимать только SSL-соединения через порт 443: server { listen 443 ssl default_server; server_name my_app.com; } server { listen 443 ssl; server_name my_website.com; } Этот блок кода настроит два веб-сайта, my_app.com и my_website.com, на прием только SSL-соединений. Вы можете добавить дополнительные сайты, используя дополнительные блоки серверов. Редирект страниц Вы можете использовать rewrite для быстрого управления 301 (постоянным) или 302 (временным) перенаправлением: Location /index.html { rewrite ^/oldURL$ https://www.your_domain.com/newURL redirect; } В большинстве случаев это будет index.html, но вы можете указать любой путь или шаблон. Обратите внимание, что команда rewrite должна использоваться только с перенаправлениями 301 или 302. Как перенаправить домен с помощью Nginx Это полезно, если вы сменили домен (например с .org на .com). Nginx также можно использовать для перенаправления со старого доменного имени на новое доменное имя. server { listen 80; listen 443 ssl; server_name www.old_company.com; return 301 $scheme://www.new_company.com$request_uri; } В большинстве случаев команда return предпочтительнее команды rewrite. Редирект с сайта www на сайт без www Этот процесс аналогичен стандартному перенаправлению страницы: server { server_name www.new_company.com; return 301 $scheme://new_company.com$request_uri; } Причины для перенаправления трафика Есть несколько причин для перенаправления HTTP-трафика на HTTPS: Принудительное установление более безопасного зашифрованного соединения. Сохранение страницы с хорошим SEO-рейтингом, но перенаправление своего трафика на новую страницу. Уведомлять и временно отправлять трафик на страницу «на обслуживании». Постоянно отправлять трафик с одного сайта на другой, например после корпоративного слияния. Заключение Теперь вы знаете, как перенаправить HTTP на HTTPS в Nginx. Редактируя файл конфигурации, вы можете отправлять трафик из определенного места назначения на другой сайт и принудительно использовать сертификаты SSL. Это поможет вам безопасно управлять изменениями на вашем сайте, не нарушая пользовательский опыт.
img
Семантическое управление версиями (или семвер) – это формальное соглашение для определения номера версии новых выпусков программного обеспечения. Стандарт помогает пользователям программного обеспечения понять серьезность изменений в каждом новом дистрибутиве. Проект, использующий семантическое управление версиями, объявляет основной номер версии (major), дополнительный номер версии (minor) и номер исправления (patch) для каждого выпуска. Строка версии 1.2.3 указывает на основную версию под номером 1, дополнительную версию под номером 2 и исправление под номером 3. Номера версий такого формата широко используются как программными пакетами, так и исполняемыми файлами конечных пользователей, такими как приложения и игры. Однако не каждый проект точно следует стандарту, установленному semver.org. Спецификация была создана для решения проблем, вызванных несовместимостью методов управления версиями между программными пакетами, используемыми в качестве зависимостей. Под «пакетом» и «зависимостью» мы подразумеваем библиотеку кода, предназначенную для использования в другом программном проекте и распространяемую диспетчером пакетов, таким как npm, composer или nuget. Это именно то применение семантического управления версиями, которое мы рассматриваем в этой статье. Major, Minor и Patch Важно понимать значение трех задействованных компонентов. Вместе они намечают путь разработки проекта и соотносят влияние каждого нового выпуска на конечных пользователей. Major number (основной номер версии) – основной номер указывает на текущую версию общедоступного интерфейса пакета. Он увеличивается каждый раз, когда вы вносите изменения, которые требуют от существующих пользователей вашего пакета обновления их собственной работы. Minor number (дополнительный номер версии) – дополнительный номер указывает на текущую функциональную версию вашего программного обеспечения. Он увеличивается всякий раз, когда вы добавляете новую функцию, но не меняете интерфейс вашего пакета. Он сообщает пользователям о том, что были внесены значительные изменения, но пакет полностью совместимым с предыдущими версиями с предыдущим дополнительным номером. Patch number (номер исправления) – номер исправления увеличивается каждый раз, когда вы вносите какое-то незначительное изменение, которое не влияет на общедоступный интерфейс или общую функциональность вашего пакета. Его чаще всего используют для исправления ошибок. Потребители всегда должны иметь возможность не задумываясь установить последнюю версию исправлений. Семантическая структура версии выпуска лучше всего моделируется в виде дерева. Наверху у вас изменения общедоступного интерфейса, каждое из которых отображается на основном номере. Каждая основная версия имеет свой собственный набор дополнительных версий, в которые добавляются новые функции без нарушения совместимости с предыдущими версиями. И наконец, дополнительные версии могут время от времени отлаживаться путем исправления некоторых ошибок. Откуда начинать? Большинство проектов должны начинаться с версии 1.0.0. Вы публикуете свой первый общедоступный интерфейс и первоначальный неизмененный набор функций. И поскольку вам еще не приходилось вносить никаких исправления, то и версия исправления – 0. Теперь давайте посмотрим, что же происходит, когда вы вносите изменения в свой пакет. После вашего первоначального выпуска вы получаете отчет об ошибке от пользователя. Когда вы выпустите исправление, то правильный номер версии уже будет 1.0.1. Если бы вы затем выпустили еще одну версию с исправлением ошибок, то вы бы увеличили номер исправления до 2, т.е. номер версии уже был бы 1.0.2. Тем временем вы также работали над новой интересной функцией. Это совершенно необязательно, поэтому пользователям не нужно ничего делать для обновления. Вы выпускаете эту версию как 1.1.0. – создана новая функциональная среда, но ее еще ни разу не исправляли. К сожалению, скоро приходят отчеты об ошибках, и среди ваших пользователей начинает распространяться версия 1.1.1. Несколько месяцев спустя вы решили провести реорганизацию кода всего проекта. Некоторые функции были удалены или теперь доступны через объединенный интерфейс. Если вы выпустите эту работу, то люди, использующие текущую версию вашего пакета, должны будут внести серьезные изменения в свой проект. Пришло время опубликовать 2.0.0. в вашем репозитории пакетов. Поддержание старых веток Увеличение какого-либо номера в вашей строке версий не создает точку невозврата. После публикации 1.1.1 вы могли обнаружить ошибку, присутствующую в 1.0.2. Используя ветки в вашей системе контроля версий, вы можете произвести исправления в обеих версиях. В итоге вы получите 1.1.2 и 1.0.3. Точно также вы можете поддерживать ветку 1.х вашего проекта, несмотря на выпуск 2.0.0. Может показаться странным публиковать 1.1.2 после 2.0.1, но это вполне нормальная практика. Семантическое управление версиями не создает линейный постоянно увеличивающийся номер версии; наоборот, оно предназначено для использования в качестве части модели разработки ветвления, которое использует простоту установки исправлений, предлагаемую системами управления исходным кодом, такими как Git. Опубликованные версии должны быть неизменяемыми. После того, как вы создали версию 2.4.3, вы не можете «обновить» его, просто добавив дополнительный код в ту же строку версии. Вы должны присваивать новый номер версии каждому выпуску, чтобы пользователи всегда могли получить доступ к каждой конкретной версии вашего пакета. Обработка пакетов, находящихся в стадии разработки Как правило, вы всегда обновляете основную версию своего пакета всякий раз, когда вносятся изменения, несовместимые с предыдущими версиями. Когда вы находитесь в стадии разработки, то ваша кодовая база может дорабатываться очень быстро, что приводит к публикации множества основных версий. Вы можете этого избежать, рекламируя свой проект как 0.y.z. Значение 0 в качестве основной версии означает, что ваш пакет неустойчив. Обычные правила в отношении совместимости с предыдущими версиями тут не применяются, поэтому вы можете выпускать новые версии, увеличивая только дополнительный номер и номер исправления. Это значит, что вы можете использовать 1.0.0 для обозначения первой «завершенной» версии вашего программного обеспечения. Вы также можете добавить дополнительные «идентификаторы» в конец строки версии, используя дефис в качестве разделителя: 1.0.0-alpha.1. Вы можете использовать такой вариант для того, чтобы четко обозначить альфа- и бета-версии. Точно также вы можете включить метаданные сборки, добавив символ +: 1.1.0-alpha.1+linux_x86. Заключение Согласованное использование семантического управления версиями помогает пользователям быть уверенными в вашем проекте. Они могут четко видеть, как развивается ваша кодовая база и нужно ли им самим провести какую-то работу, чтобы идти в ногу со временем. Объявление строки семантической версии необходимо при публикации в диспетчере наиболее популярных пакетов. Тем не менее, в конечном счете, вам решать, какие номера вы устанавливаете для каждого нового выпуска. Соблюдение стандарта четко сообщает о ваших намерениях пользователям и сводит к минимуму риск непреднамеренного нарушения чужой работы.
img
Одна из предыдущих статей была посвящена созданию групп перехвата в OpenScape Voice. Сейчас мы поговорим про другой тип групп – группы поиска или Hunt Groups. /p> Теория Hunt группа представляет из себя несколько телефонных номеров, объединенных в одну группу внутри которой происходит распределение вызова по определенному алгоритму. Для вызова группы используется либо отдельный внутренний номер (Pilot Hunt Group), либо номер, состоящий в группе (Master Hunt Group). В одной группе может находиться 2048 номеров, а один номер может находиться в 32 группах одновременно. Рассмотрим алгоритмы распределения вызовов в группе. Circular (Циклический) - Распределение вызовов происходит по порядку, согласно списку абонентов. Если абонент не отвечает, то через заранее определенное время вызов передается следующему абоненту из списка, и так далее. Если последний абонент не ответил, то вызов снова передается первому. Новый вызов адресуется абоненту, который идет в списке за тем, который принял предыдущий вызов. Linear (Линейный) - Распределение вызовов так же происходит по порядку, согласно списку абонентов, и если абонент не отвечает, то вызов передается следующему. Но отличие состоит в том, что новый вызов всегда адресуется первому свободному абоненту в списке. Manual – Application Controlled (Управляемый внешним приложением) - Распределением вызовов управляет внешнее приложение по протоколу CSTA. Parallel – Call Pickup Model (Параллельный, на основе перехвата вызова) - Для распределения используется циклический алгоритм и при этом дополнительно всем свободным абонентам группы посылается уведомление о вызове, и вызов может быть перехвачен любым свободным абонентом. Абонент может быть включен только в одну группу такого типа, и не может одновременно быть членом другой стандартной группы перехвата. Parallel – Simultaneous Alerting Model (Параллельный, на основе одновременного вызова) - Одновременный вызов всем участникам группы. UCD – Uniform Call Distribution (Универсальный) - Вызов адресуется абоненту, который был свободен дольше других. Если абонент не отвечает, то вызов передается следующему абоненту, который был свободен дольше других и так далее. Настройка группы поиска Создадим номер вызова группы. Для этого перейдем во вкладку Configuration → OpenScape Voice → Business Group → Members → Subscribers и нажмем на Add. Во вкладке General указываем номер для группы в строке Directory Number и в строке Type of Number указываем тип номера → Public для городского и Private для корпоративного. Переходим на вкладку Connection и в Connection Information указываем Profile Only После создания номера приходим в меню Configuration → OpenScape Voice → Business Group → Teams - Hunt Groups и нажмем на Add для создания Hunt группы. Во вкладке General нужно указать название группы в строке Name, ниже в строке Pilot Directory Number указать номер группы, который мы создавали до этого и в поле Type в выпадающем списке выбрать алгоритм распределения вызова. Также в этом меню и во вкладке Advance можно выставить дополнительные настройки очереди. Добавлять абонентов в группе можно во вкладке Members, нажав на кнопку Add. В строке Directory Number указываем внутренний номер абонента, и также можем сразу указать в поле Position порядковый номер абонента в списке. После добавления номера появляются в списке, в котором можно изменять позицию номера при помощи кнопок Move Up и Move Down. Добавлять телефон в группу можно еще из меню настроек номера Configuration → OpenScape Voice → Business Group → Members - Subscribers во вкладке Groups, где нужно указать либо номер, либо имя группы, и нажать затем Save.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59