- Например, стандартные Accept, Host или Referer?
- Знаете? Здорово! А как получить значение Content-Type, Content-Length?
- Ничем вас не удивить, а как получить значение произвольного заголовка, например X-Forwarded-For?
Nginx *
Веб-сервер и почтовый прокси-сервер
Перенос форума IPB в bbPress WordPress
Перенос форума Invision Power Board (Invision Community) на платформу Wordpress под bbPress
Как я переносил форум IPB на WP под bbPress. Танцы с бубном в конце недели. Все закончилось успешно, но не до конца...
Использование Nginx FastCGI Cache
FastCGI Cache — это система кэширования данных реализованая на уровне HTTP-сервера Nginx.
Преимущество FastCGI Cache заключается в том, что Nginx вернёт закешированный ответ пользователю сразу, как только получит запрос, при этом слой приложения не будет вовсе обрабатывать поступивший HTTP-запрос, если он имеется в кэше Nginx.
Использование FastCGI Cache — отличный способ снизить нагрузку на вашу систему.
Если на вашем сайте есть страницы, которые изменяются редко или задержка обновления информации на некоторое время не критична, то FastCGI Cache именно то, что нужно.
Оптимизация: Настройка веб-сервера Nginx для улучшения показателей RPS в HTTP API
Перед горизонтальным и вертикальным масштабированием инфраструктуры первым делом необходимо убедиться, что ресурсы используются правильно, а конфигурация приложения не создает узких мест для его производительности. Главная цель команды инженеров — обеспечить постоянную, бесперебойную работу любой спроектированной и развернутой системы с помощью минимальных ресурсов.
Мы столкнулись с указанной выше проблемой, когда наша развернутая система ежедневно использовалась миллионом пользователей, которые подключались всплесками время от времени. Это значит, что развертывание нескольких серверов или их масштабирование не будет в данной ситуации оптимальным решением.
Истории
Я сделал свой PyPI-репозитарий с авторизацией и S3. На Nginx
В данной статье хочу поделится опытом работы с NJS, интерпретатора JavaScript для Nginx разрабатываемого в компании Nginx inc, описав на реальном примере его основные возможности. NJS это подмножество ЯП JavaScript, которое позволяет расширить функциональность Nginx.
Некоторые аспекты управления VDS-сервером под Linux
На сервер можно поставить ОС со своего образа или воспользоваться готовым образом в панели управления.
Предположим, мы поставили Debian 10 и веб-сервер Nginx, который идёт в стандартном репозитории (
apt install nginx
). Давайте посмотрим, какие полезные утилиты и команды помогут в управлении сервером под Linux. Рассмотрим и отдельно Nginx, и сам VDS-сервер в целом.Магия 2-х строк на Lua или как донести исходные заголовки HTTP Authorization header-авторизации до web-сервиcа
- кому необходимо задействовать несколько видов авторизации в одном запросе к серверу;
- кто хочет открывать сервисы мира Kubernetes/Docker в общий интернет, не задумываясь о способах защиты конкретного сервиса;
- думает, что всё уже кем-то сделано, и хотел бы сделать мир немного удобнее и безопаснее.
Предисловие
Сервисы, которые становятся доступны через Kubernetes, имеют богатый набор способов авторизации. Один из наиболее модных – это заголовок Authorization: Bearer — это, например: JWT-авторизация (JSON Web Token) с передачей множества ключей, а следовательно, и значений, в одном заголовке. Встречаются и Basic-авторизации, например для Registry (хранилище образов Docker). Данная авторизация не использует Cookie и автоматически добавляется браузером (кроме Safari — там есть нюансы, которые мы пока не решаем) ко всем запросам к серверу.
Как случайно продолжить писать Web-GUI для Haproxy
Отправка Nginx json логов с помощью Vector в Clickhouse и Elasticsearch
Vector, предназначенный для сбора, преобразования и отправки данных логов, метрик и событий. Его Github
Будучи написанной на языке Rust, он отличается высокой производительностью и низким потреблением оперативной памяти по сравнению с аналогами. Кроме того, большое внимание уделено функциям, связанным с корректностью, в частности, возможностям сохранения неотправленных событий в буфер на диске и ротации файлов.
Архитектурно Vector является роутером событий, принимающим сообщения из одного или нескольких источников, опционально применяющим над этими сообщениями преобразования, и отправляющим их в один или несколько стоков.
Vector это замена filebeat и logstash, он может выступать в обоих ролях (получать и отправлять логи), более подробней на их сайте.
Рецепты uWSGI: преобразование документов с использованием LibreOffice
Как мы в ZeroTech подружили Apple Safari и клиентские сертификаты с websocket-ами
- знает, что такое Client Cert, и понимает для чего ему websocket-ы на мобильном Safari;
- хотел бы публиковать web-сервисы ограниченному кругу лиц или только себе;
- думает, что всё уже кем-то сделано, и хотел бы сделать мир немного удобнее и безопаснее.
История веб-сокетов началась примерно 8 лет назад. Ранее использовались методы вида долгих http-запросов (на самом деле ответов): браузер пользователя отправлял запрос на сервер и ждал, пока он ему что-то ответит, после ответа подключался вновь и ждал. Но потом появились веб-сокеты.
Расширенная настройка web сервера (Apache2 + Nginx)
В этом руководстве мы рассмотрим процедуру установки и настройки работы двух web-серверов с целью использования преимуществ каждого из них, руководство подразумевает как отдельное настраивание, так и взаимное.
В этой статье будет идти речь о настройке сервера с использованием: Apache2, Nginx, ngx_pagespeed, PHP, PHP-FPM, MariaDB и MemCached.
Деплой приложения на Laravel 7 на Ubuntu & Nginx
Решил я тут своё портфолио сделать на Laravel 7. Чтобы главная страница была лендингом, а всю информацию на ней можно было менять с помощью админки. Не суть. Дело дошло до деплоя. Нашел пару хороших туториалов, как это сделать на полноценном сервере со всеми заморочками. В деплое я не очень силен, я вообще больше фронт, чем фулстек. И, если писать и тестить на PHP я еще могу, то до управления сервером и т.п. я еще не дорос. Но пришлось разбираться.
Сейчас пройдемся по всем шагам, начиная с запуска через SSH и заканчивая рабочим сайтом. Постараемся обойти все подводные камни.
Возможно, вы сможете найти аналогичные инструкции в интернете. Ведь я же в конце концов нашел. Правда не в одном месте, не без помощи StackOverflow и вряд ли на русском. Я помучился. Поэтому решил вам жизнь упростить.
Ближайшие события
Что такое Service Mesh?
Service Mesh – это конфигурируемый инфраструктурный уровень с низкой задержкой, который нужен для обработки большого объема сетевых межпроцессных коммуникаций между программными интерфейсами приложения (API). Service Mesh обеспечивает быструю, надёжную и безопасную коммуникацию между контейнеризированными и часто эфемерными сервисами инфраструктуры приложений. Service Mesh предоставляет такие возможности, как обнаружение сервисов, балансировку нагрузки, шифрование, прозрачность, трассируемость, аутентификацию и авторизацию, а также поддержку шаблона автоматического выключения (circuit breaker).
Программируем прямо в Nginx
Nginx — великолепный веб-сервер. Все мы привыкли использовать его в связке с бекендами на разных языках программирования. Но оказывается можно писать простые программы прямо внутри конфигурационного файла Nginx. Это можно использовать для балансировки, написания простых API и даже отдавать динамические страницы прямо из конфига.
В статье мы разберем примеры написания простых программ в конфиге nginx.
Приглашаем на DINS DevOps EVENING (online): эволюция Prometheus и Zabbix и обработка логов Nginx в ClickHouse
Вячеслав Швецов из DINS расскажет, какие процессы происходят при эволюции систем мониторинга, и подробнее остановится на архитектурных особенностях Prometheus и Zabbix. Глеб Гончаров из FunBox поделится опытом сборки логов Nginx с хранением в ClickHouse. Оба спикера приведут примеры из практики и ответят на вопросы аудитории.
Регистрируйтесь по ссылке, чтобы присоединиться.
Под катом — информация о спикерах и подробная программа.
HTTP по UDP — используем с пользой протокол QUIC
QUIC (Quick UDP Internet Connections) — это протокол поверх UDP, поддерживающий все возможности TCP, TLS и HTTP/2 и решающий большинство их проблем. Его часто называют новым или «экспериментальным» протоколом, но он уже давно пережил стадию эксперимента: разработка ведётся более 7 лет. За это время протокол не успел стать стандартом, но всё же получил широкое распространение. Например, QUIC используют для ускорения трафика и снижения задержек в мобильных сетях такие гиганты как Google и Facebook, а IETF объявила свой форк протокола основой для стандарта HTTP/3 (при том, что HTTP/2 использует только 44.8% сайтов).
Несколько советов о том, как ускорить сборку Docker-образов. Например, до 30 секунд
Прежде чем фича попадет на прод, в наше время сложных оркестраторов и CI/CD предстоит пройти долгий путь от коммита до тестов и доставки. Раньше можно было кинуть новые файлы по FTP (так больше никто не делает, верно?), и процесс «деплоя» занимал секунды. Теперь же надо создать merge request и ждать немалое время, пока фича доберётся до пользователей.
Часть этого пути — сборка Docker-образа. Иногда сборка длится минуты, иногда — десятки минут, что сложно назвать нормальным. В данной статье возьмём простое приложение, которое упакуем в образ, применим несколько методов для ускорения сборки и рассмотрим нюансы работы этих методов.
Настройка Debian, Nginx и Gunicorn для Django проекта
Всем доброго времени суток.
Была задача поднять свой Debian сервер на Nginx для проектов Django 3.х. Перерыв кучу информации в интернете, удалось это сделать соединив рекомендации с нескольких разных сайтов. Если вам интересно почитать, как настроить свой первый сервер для Django-проекта, то — добро пожаловать.