Менеджмент, тестирование и фронтенд позади, переходим к бекенду — секции-рекордсмену по количеству баззвордов.
Рубрика «nginx» - 20
Backend на CodeFest: бигдэйта, машинлёнинг и блокчейн
2018-03-06 в 6:49, admin, рубрики: .net, AI, backend, big data, blockchain, CodeFest, kubernetes, mashine learning, nginx, postgresql 10, Raspberry Pi, Блог компании CodeFest, блокчейн, машинное обучение, Программирование, Разработка веб-сайтов, разработка мобильных приложений, сборка мусораУстановка сервера Linux + (Nginx + Apache) + PostgreSQL + PHP на VirtualBox (Ubuntu Server 16.04.3 LTS)
2018-02-27 в 14:39, admin, рубрики: Apache, nginx, php, postgresql, Разработка веб-сайтовНа просторах интернета не нашел единого рецепта по установке и настройке такого, довольно нестандартного сервера. Решил написать свой рецепт.
Принцип работы следующий:

Статические данные (файлы) отдает Nginx, а динамикой занимается Apache.Читать полностью »
«Быстрорастворимый» фронтенд. Лекция в Яндексе
2017-12-24 в 15:30, admin, рубрики: Brotli, css, DevTools, gzip, http/2, HTTPS, javascript, lighthouse, nginx, preload, PRPL, server push, service worker, Zopfli, Блог компании Яндекс, интерфейсы, Клиентская оптимизация, сжатие данных, фронтендУскорить доставку элементов фронтенда на устройство пользователя можно несколькими способами. Разработчик Артём Белов из самарского офиса норвежской компании Cxense попробовал самые многообещающие: HTTP/2, Server Push, Service Worker, а также оптимизацию в процессе сборки и на стороне клиента. Итак, что же нужно сделать, чтобы сократить время отклика приложения до минимума?
Выясняется, что алгоритмы сжатия существуют уже давно. Это произошло где-то в июне — видимо, где-то над Самарой пролетал метеорит и идея проверить новые алгоритмы сжатия, Zopfli и Brotli, пришла мне и парню из соседней компании. Больше чем уверен, вы читали его статью, это Александр Субботин. Статья разошлась на Medium, и он известен, а я нет.
Включаем поддержку TLS v1.3 в Nginx на примере Debian 9
2017-12-23 в 1:01, admin, рубрики: Debian, linux, nginx, TLS, информационная безопасность, Настройка Linux, Серверное администрирование, системное администрированиеВсем доброго времени суток!
Данный пост написан вследствие победы желания докопаться до сути над усталостью, сонливостью, соблазном опрокинуть очередную бутылочку пива пятничным вечером.
Сразу скажу, что ничего супер сложного не раскрываю, всего лишь включение TLS v1.3 в Nginx.

Наверняка на Хабре найдутся те, кто уже 100 раз это делал, поэтому данная статья — больше для новичков или для тех, кто хочет найти готовое решение в виде мануала, не тратя много времени на поиски, как я, например. Вспомнив, что давно не писал на Хабре и поставив статье метку «tutorial», принялся за дело.
RFC для слабаков или история одного расследования
2017-12-16 в 19:33, admin, рубрики: CDN, highwinds, http, IT-стандарты, nginx, not a bug, rfc, web, расследование, системное администрирование, стандарты для слабаковПреамбула: в один из дней мы решили подключить к нашему сайту CDN, для того, чтобы радовать пользователей более быстрой загрузкой страниц. После некоторых поисков выбор пал на Highwinds, т.к. они заявляли, что поддерживают весь нужный функционал и с ними удалось договориться на очень вкусную цену. После успешного перевода сайта на работу через Highwinds мы решили— а почему бы не переключить на них и наше REST API для мобильных приложений. И тут начались интересности.
Читать полностью »
Конструирование сайта, защищенного от блокировок
2017-12-12 в 16:07, admin, рубрики: http, Lua, nginx, администрирование, блокировки, блокировки сайтов, Законодательство и IT-бизнес, защита, информационная безопасность, Роскомнадзор, РоссияПривет всем,
В связи с ростом блокировок, в том числе необоснованных, сайтов со стороны государства, вашему вниманию предлагается описание идеи, а также прототип настроек сайта, защищенного от блокировок по конкретному пути и доменному имени. Идеи по защите от блокировок:
- со звездочкой
- по адресу IP
будут изложены в других постах. Кому интересна тема, заходите под кат.
От Root CA до User Authorization в nginx+apache. Часть 1. Создаем Root&Intermediate Certificate Authority
2017-11-29 в 5:17, admin, рубрики: Apache, nginx, ssl/tls, авторизация без паролей, авторизация на сайт, информационная безопасность, криптография, пользовательские сертификатыДоброго времени, читатель!
Хочу поделиться с тобой идеей беспарольной авторизации. Недавно лазил по сайтам центров сертификаций и наткнулся на интересную вещь. ЦС использую авторизацию по сертификату вместо пароля. Я считаю это удобным, для компании, а не для обычных интернет сайтов, где шарятся простые пользователи, но вход в АД (админ-центр сайта), было бы неплохо.
Читать полностью »
Как Discord каждый день изменяет размер 150 млн картинок с помощью Go и C++
2017-11-28 в 13:57, admin, рубрики: afl, c++, cgo, Go, libjpeg-turbo, libpng, Lilliput, nginx, open source, opencv, x86 SSE, обработка изображений, фаззинг
Хотя Discord — это приложение для голосового и текстового чата, каждый день через него проходит более ста миллионов изображений. Конечно, мы бы хотели, чтобы задача была простой: просто перенаправить картинки вашим друзьям по всем каналам. Но в реальности доставка этих изображений создаёт довольно большие технические проблемы. Прямая ссылка на картинки выдаст хосту с картинкой IP-адреса пользователей, а большие изображения расходуют много трафика. Чтобы избежать этих проблем, требуется промежуточный сервис, который будет получать изображения для пользователей и изменять их размер для экономии трафика.
Встречайте Image Proxy
Для выполнения этой работы мы создали сервис Python и креативно назвали его Image Proxy. Он загружает картинки с удалённых URL, а затем выполняет ресурсоёмкую задачу по ресайзингу с помощью пакета pillow-simd. Этот пакет работает удивительно быстро, используя где только возможно для ускорения ресайзинга инструкции x86 SSE. Image Proxy будет получать HTTP-запрос, содержащий URL, чтобы загрузить, изменить размер и, наконец, выдать окончательное изображение.
Читать полностью »
Раздача фронтенда через CDN
2017-11-10 в 20:25, admin, рубрики: amazon, angular, AWS, CDN, certbot, ci, cloudfront, Git, gitlab, javascript, nginx, php7.1, s3, бэкенд, Разработка веб-сайтов, фронтендВ мире современных веб-технологий все стремительно развивается и меняется. Пару лет назад совершенно нормальным было по запросу клиента рендерить DOM структуру на сервере (например, при помощи PHP) и отдавать уже полностью сформированную страницу. Сейчас все чаще появляются сайты c полным отделением фронтенда (Angular, React, Vue.js...) от бэкенда (некие API эндпоинты), где на фронтенде почти весь контент формируется посредством скриптов, а сервер отдает только данные по запросу. Тут можно было бы упомянуть SSR (Server Side Rendering), но не об этом данное произведение.
В любые времена перед разработчиками и владельцами сайтов стояла непростая задача: доставить контент как можно быстрее, как можно большему количеству клиентов. Одно из самых правильных решений — использовать CDN (Content Delivery Network) для раздачи статичных файлов. В случае с динамическим рендером страниц на сервере мы должны были ограничиваться небольшим списком объектов, которые можно было разместить в CDN: таблицы стилей, файлы скриптов, изображения. Однако, фронтенд, написанный на Angular (React, Vue.js...), статичен целиком, включая индексную страницу. Вот тут и возникает мысль: а почему бы не организовать раздачу через CDN всего фронтенда?
В данной статье пойдет речь о настройке комплексного решения для разработки, контроля версий, автоматической сборки и доставки статического сайта с использованием Gitlab CI, Amazon S3 и Amazon CloudFront. Также речь пойдет о настройке сопутствующих вещей: git, безопасное соединение по протоколу HTTPS, доменная почта, DNS хостинг, бэкенд сервер…
Если вас заинтересовала эта тема, добро пожаловать под кат.
Осторожно! Много скриншотов.
Читать полностью »
Как можно взломать свой же Web проект?
2017-11-02 в 23:36, admin, рубрики: nginx, безопасность веб-приложений, вэб-разработка, информационная безопасность, ошибки, Программирование
Недавно мне позвонили и попросили помочь разобраться с очень странными симптомами на сайте. А симптомы выглядели вот так. Cовершенно разные клиенты звонили и рассказывали, что они на сайте попадают в личные кабинеты других случайных клиентов. Логинятся под собой. Входят в свой аккаунт, а потом бац – и уже в аккаунте другого клиента. Правда они не догадывались, что кто-то другой так же мог оказаться в их личном кабинете.
Давайте я расскажу «историю неуспеха», чтобы другие на эти грабли не наступали.

