Рубрика «Apache» - 15

Вы знаете, чем отличается %{REQUEST_URI} в Apache mod_rewrite от $_SERVER["REQUEST_URI"] в PHP?

Сможете в .htaccess на уровне Apache сделать корректную переадресацию 301 с домена с префиксом www или на него?

Для последнего вопроса я и сейчас не смогу предложить решение. Причина в протоколе HTTP/1.1, который пришлось изучить подробнее, когда «изобретал велосипед» (создавал ядро для сайта).

Всё дело в HTTP-заголовке запроса «Host:». При определённых условиях там может быть всё, что угодно, причём сервер должен полностью это проигнорировать согласно HTTP/1.1. Большинство же разработчиков используют значение этого поля, например, для SEO-оптимизаций. Забегая вперёд, скажу, что дополнительный прокси (например, nginx) позволит решить эту проблему.

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

Что же скрывает REQUEST_URI в HTTP/1.1?

Читать полностью »

Vesta Control Panel
Полгода непрерывной работы. Более тысячи установок. Добавлено 95 тысяч новых строк. Удалено 84 тысячи. Было сделано 360 комитов. Вышла новая версия.
Я хочу рассказать о наиболее важных изменениях.
Читать полностью »

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

  1. ресайз изображений под любые размеры (добавление новых размеров не должно вызывать головную боль)
  2. модификация изображений: добавление водяного знака, применение эффектов оттенки серого, сепия и вообще добавление новых эффектов не должно быть трудной задачей
  3. обработка изображения не должна влиять на основной поток (скорость загрузки страницы)
  4. для ускорения загрузки изображений на странице решение должно позволять обойти лимит одновременных соединений в браузерах, детальнее о лимите (рус)
  5. избежать возможность засорения сервера явной передачей параметров ресайза в url
  6. кешировать результаты работы

Читать полностью »

Я Microsoft Scum и привык к наличию инсталляторов, после успешного выполнения которых у меня на машине установлено и настроено всё необходимое.

С PHP оказалось не так, что привело к нескольким часам мучений и ложных ходов, для устранения которых я и написал эту статью.

Как это работает

Будучи web-разработчиком под ASP.NET ещё с 2003 года, я привык, что разрабатываемое приложение крутится на IIS. Сейчас вместе со Студией ставится компактная версия IIS, и, признаться, разработка под ним в большинстве случаев гораздо удобнее развёртывания дополнительной разработческой среды под полноценным IIS.

У PHP также есть режим запуска в качестве сервера с выбором корневой директории приложения. Однако, выяснилось, что такой режим не позволяет по-человечески отлаживать продукт. По этой причине мы будем воссоздавать более или менее родную среду для работы фреймворков: Apache+PHP. При этом возможность отладки и тестирования обеспечивается отдельными модулями, у которых есть конкретная сборка под конкретную сборку PHP без каких-либо свобод выбора. Оно и к лучшему — отсутствие свободы выбора версий ограничивает нас всего одним сценарием установки. Его то мы и опишем.
Читать полностью »

Доброго времени суток, уважаемыее!
Прочитав этот топик, решил написать свой, так как по моему мнению автор не до конца раскрыл потенциал построение HA систем на Jboss(Tomcat), к тому же в статье есть много ошибок (не грамматических).
В этом топике я не буду приводить step-by-step по конфигурации узлов, лишь выборочно, где есть нюансы.
Читать полностью »

Всем привет!

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

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

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

В статье расскажу какие инструменты позволяют быстро диагностировать проблему, приведу работающий код и дам несколько боевых рекомендаций по выживанию :-)

Читать полностью »

Автор: Александр Кузнецов

Проект Hadoop – это широко используемая платформа для распределенных вычислений на основе парадигмы MapReduce. В этой статье я рассмотрю сценарии перемещения двух основных компонентов Hadoop в облако OpenStack — инфраструктуры MapReduce и файловой системы HDFS (Hadoop Distributed File System — распределенная файловая система Hadoop). Прототипом названия проекта Savanna стали африканские равнины, по которым перемещаются слоны, изображенные на логотипе Hadoop. Более подробно о проекте рассказывает мой коллега Дмитрий Мещеряков в видео ниже.Читать полностью »

Приветствую, Комрады!

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

Оптимизация рабочих мест полуавтоматической линии упаковки

Внимание! Картинка в начале поста может отличаться от фотографий под катом.

Читать полностью »

Существует такое понятие, как корневой домен, соответственно, в конце каждого домена есть точка. Возможно, вы и не подозреваете, что ваш сайт доступен по доменному имени с точкой в конце (domain.zone.), так как браузеры позволяют обращаться к сайтам, как с точкой в конце домена, так и без неё.
Читать полностью »

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

Задача

Есть домен site.com с определенными показателями ТИЦ и PR, но мы хотим перенести проект (сайт) на новый адрес не теряя уже полученные кровью и потом результаты в поисковиках.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js