Рубрика «nginx»

Устал смотреть в логи: опять подбор пароля к ssh, опять лезут в несуществующие файлы сайта. Fail2ban ставил — утонул в настройках. Написал своё: обходит свой сайт, запоминает нормальные адреса, по лишним 404 и по ssh режет IP в nftables. Рассказываю — зачем и как ставил. Код покажу там, где самому было интересно.

Эта история произошла давным‑давно, а может быть только вчера, в одном из миров, чем‑то не похожем на не наш.

Я сидел и тупо смотрел на появляющиеся строчки про подбор паролей к ssh и поиск доступа к файлам сайта.

С чего всё началось

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

Задача звучит просто: есть один публичный IP и один 443-й порт, на нём уже работает сервис с живыми пользователями, и туда же нужно посадить второй. Менять что-либо на устройствах пользователей нельзя.

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

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

Вчера переехал на свой сервер. Сегодня утром обнаружил, что сайт у меня не открывается. Ни из дома, ни с телефона.

Сервер при этом в Москве, у российского хостера. И с ним всё в порядке.

Дальше про то, как я полдня искал причину, какие шесть версий проверил и выбросил, и чем всё кончилось. Если симптомы похожие, в конце готовая методика: что запускать и как читать результат.

Симптомы

Сайт статический, Next.js, отдаётся через nginx. Рядом два Docker‑контейнера: чат‑виджет и API для демок. Сервер 2 CPU, 4 ГБ, Москва.

Что я видел:

Недавно мне потребовалось перенести корпоративный портал Bitrix24 на новую BitrixVM. По документации всё выглядело достаточно просто:

  • развернуть новую виртуальную машину;

  • обновить систему;

  • восстановить резервную копию через restore.php;

  • дождаться окончания восстановления.

Казалось бы, что может пойти не так? Практически всё.

После восстановления портал встретил меня сразу несколькими ошибками:

  • Could not start session by PHP;

  • не запускался Push Server;

  • появилось сообщение «Отсутствует соединение с сервером»;

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

Вводные

Два коммерческих сайта на WordPress, оба на одном VPS. Клиенты в одном городе, я сам в другом.

Начало июня. Клиенты жалуются, что сайт не открывается без VPN.

Мало ли, подумал я — ограничения, белые списки и т.д.

Потом сайт перестал открываться у меня. По проводу. Дома.

Три дня был потный танец с бубном:

  • отключил fail2ban — вдруг сами себя забанили;

  • прибил Google Captcha — вдруг из-за гугла;

  • перерыл реестр РКН по доменам и по IP — пусто;

  • полез в судебные решения — пусто;

  • проверил конкурентов на другом хостинге — у них всё летает;

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

Две недели назад я закончил домашний проект — небольшую утилиту под Windows, — и решил, что ей нужна страница в интернете. Взял самый дешёвый VPS, так как много мощностей для моих задач не требуется, поднял nginx, выложил статическую страницу без единого внешнего скрипта. Счётчики вроде популярных метрик ставить не хотел принципиально: утилита не собирает никаких данных о пользователе, и было бы странно начинать “слежку” прямо со страницы о ней. Поэтому аналитику я сделал самую честную из возможных — разбор собственных логов nginx.

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

Я работаю в Росэлторг, крупнейшем операторе электронных торгов: множество торговых секций, более миллиона пользователей, а общий объём проведённых торгов перевалил за 52 трлн рублей. Документов соответственно много: документация по закупкам, заявкам, протоколам, аккредитационные сведения, договоры — каждый привязан к сущностям со своими правилами доступа в зависимости от набора ролей пользователя и состояния закупочной процедуры.

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

История о том, как я загнал главную страницу форума с 88 запросов до 15, выяснил, что половину работы делал впустую один невинный аддон, и в конце снял ещё четверть серверного времени строчкой в конфиге — не сломав при этом ничего из того, что работало. А заодно — полная документация на стек из четырёх своих расширений и preload, на которых форум сейчас и держится.

Содержание


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