LINUX.ORG.RU

Сообщения gobot

 

vue затирает h1

Форум — Web-development
<div id="app">
<h1 v-html="header">страница</h1>
</div>
var app = new Vue({
  el: '#app',
  data: {
      header: null
  }
});



После загрузки страницы h1 затирается. Как установить начальное значение header, чтобы vue брал за основу уже имеющийся текст внутри h1?

 

gobot
()

JS фреймворк для ajax api, подгрузки блоков

Форум — Web-development

Может есть что-либо готовое... С готовым АПИ для дергания ajax запросов типа request.api(url, success, fail) с интеграцией в UI(например пока идет загрузка крутится шарик, а потом контент вставляется сам в блок). Ещё нужно подгружать блоки с сервера, открывать их в modal окнах и прочие рутинные штучки. Есть всякие VUE, angular. Куда смотреть? Или такое самому только делать?

 ,

gobot
()

Не загружается GRUB: invalid arch independent ELF magic

Форум — Admin

После некоторого шаманства с RAID перестал загружатся дебиан.
Конфигурация такова: есть 4 диска sda, sdb, sdc, sdd и 1 RAID6 в который входят эти диски(потом я удалил 2). Ранее(когда не было raid) система нормально загружалась через sda, на котором находился grub.
После добавления 4 дисков к массиву при загрузке выдает такое сообщение «invalid arch independent ELF magic».

Что я делал в grub rescue

ls
(hd0) (hd0,msdos5) (hd0,msdos1) (hd1) (hd1,msdos5) (hd1,msdos1) (hd2) (hd2,msdos5) (hd2,msdos1) (hd3) (hd3,msdos5) (hd3,msdos1) (md/0)
set prefix=(md/0)/boot/grub
set root=(md/0)
ls /boot/grub
... i386-pc/ locale/ fonts/ grub.cfg ...
insmod ext2
insmod normal
error: invalid arch independent ELF magic


Потом загружался через live-cd kali, запускал RAID массив, монтировал его и пытался восстановить grub
mdadm -A --scan /dev/md0 /dev/sda1
mdadm: /dev/md/0 has been started with 2 drives (out of 4)
cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active (auto-read-only) raid6 sdd1[4] sdc1[2]
      4190208 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/2] [U_U_]

mount /dev/md0 /mnt

apt-get install grub-pc
grub-probe: error: failed to get canonical path of `overlay'.
grub-probe: error: failed to get canonical path of `overlay'.
grub-probe: error: failed to get canonical path of `overlay'.


grub-install --root-directory=/mnt /dev/md0

Installing for i386-pc platform.
grub-install: warning: Couldn't find physical volume `(null)'. Some modules may be missing from core image..
grub-install: warning: Couldn't find physical volume `(null)'. Some modules may be missing from core image..
grub-install: warning: Couldn't find physical volume `(null)'. Some modules may be missing from core image..
grub-install: warning: Couldn't find physical volume `(null)'. Some modules may be missing from core image..
grub-install: warning: File system `ext2' doesn't support embedding.
grub-install: warning: Embedding is not possible.  GRUB can only be installed in this setup by using blocklists.  However, blocklists are UNRELIABLE and their use is discouraged..
grub-install: error: will not proceed with blocklists.


Дальше не знаю что делать

вывод fdisk -l
Disk /dev/sda: 3 GiB, 3221225472 bytes, 6291456 sectors
Disk model: VBOX HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x866231b5

Device     Boot   Start     End Sectors  Size Id Type
/dev/sda1  *       2048 4196351 4194304    2G 83 Linux
/dev/sda2       4198398 6289407 2091010 1021M  5 Extended
/dev/sda5       4198400 6289407 2091008 1021M 82 Linux swap / Solaris


Disk /dev/sdc: 3 GiB, 3221225472 bytes, 6291456 sectors
Disk model: VBOX HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x866231b5

Device     Boot   Start     End Sectors  Size Id Type
/dev/sdc1  *       2048 4196351 4194304    2G 83 Linux
/dev/sdc2       4198398 6289407 2091010 1021M  5 Extended
/dev/sdc5       4198400 6289407 2091008 1021M 82 Linux swap / Solaris


Disk /dev/sdb: 3 GiB, 3221225472 bytes, 6291456 sectors
Disk model: VBOX HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x866231b5

Device     Boot   Start     End Sectors  Size Id Type
/dev/sdb1  *       2048 4196351 4194304    2G 83 Linux
/dev/sdb2       4198398 6289407 2091010 1021M  5 Extended
/dev/sdb5       4198400 6289407 2091008 1021M 82 Linux swap / Solaris


Disk /dev/sdd: 3 GiB, 3221225472 bytes, 6291456 sectors
Disk model: VBOX HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x866231b5

Device     Boot   Start     End Sectors  Size Id Type
/dev/sdd1  *       2048 4196351 4194304    2G 83 Linux
/dev/sdd2       4198398 6289407 2091010 1021M  5 Extended
/dev/sdd5       4198400 6289407 2091008 1021M 82 Linux swap / Solaris


Disk /dev/loop0: 752.14 MiB, 788676608 bytes, 1540384 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/md0: 3.102 GiB, 4290772992 bytes, 8380416 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 524288 bytes / 1048576 bytes



вывод lsblk -f
NAME    FSTYPE            LABEL     UUID                                 FSAVAIL FSUSE% MOUNTPOINT
loop0   squashfs                                                               0   100% /usr/lib/live/mount/rootfs/filesystem.squashfs
sda
├─sda1  linux_raid_member debian:0  8cb56d09-785b-65db-d7b6-fae1f53ff0f4
├─sda2
└─sda5  swap                        80ef77ee-860d-4d2d-b60f-79e922fbd0ad
sdb
├─sdb1  linux_raid_member debian:0  8cb56d09-785b-65db-d7b6-fae1f53ff0f4
├─sdb2
└─sdb5  swap                        80ef77ee-860d-4d2d-b60f-79e922fbd0ad
sdc
├─sdc1  linux_raid_member debian:0  8cb56d09-785b-65db-d7b6-fae1f53ff0f4
│ └─md0 ext4                        dc2f4298-25af-4bda-abbf-a3c0a8fc9592  873.2M    49% /mnt
├─sdc2
└─sdc5  swap                        80ef77ee-860d-4d2d-b60f-79e922fbd0ad
sdd
├─sdd1  linux_raid_member debian:0  8cb56d09-785b-65db-d7b6-fae1f53ff0f4
│ └─md0 ext4                        dc2f4298-25af-4bda-abbf-a3c0a8fc9592  873.2M    49% /mnt
├─sdd2
└─sdd5  swap                        80ef77ee-860d-4d2d-b60f-79e922fbd0ad
sr0     iso9660           Kali Live 2019-08-27-11-08-45-00                     0   100% /run/live/medium

 ,

gobot
()

Не могу примонтировать склонированный диск

Форум — Admin

Хочу склонировать диск /dev/sda на /dev/sdb, оба они 3GB.

fdisk -l /dev/sda
Disk /dev/sda: 3 GiB, 3221225472 bytes, 6291456 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x866231b5

Device     Boot   Start     End Sectors  Size Id Type
/dev/sda1  *       2048 4196351 4194304    2G 83 Linux
/dev/sda2       4198398 6289407 2091010 1021M  5 Extended
/dev/sda5       4198400 6289407 2091008 1021M 82 Linux swap / Solaris



Делаю полный клон с таблицей разделов
dd if=/dev/sda of=/dev/sdb

В итоге получаю склонированный диск
fdisk -l /dev/sdb
Disk /dev/sdb: 3 GiB, 3221225472 bytes, 6291456 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x866231b5

Device     Boot   Start     End Sectors  Size Id Type
/dev/sdb1  *       2048 4196351 4194304    2G 83 Linux
/dev/sdb2       4198398 6289407 2091010 1021M  5 Extended
/dev/sdb5       4198400 6289407 2091008 1021M 82 Linux swap / Solaris


Потом делаю
mount /dev/sdb1 /mnt/
mount: wrong fs type, bad option, bad superblock on /dev/loop0,
       missing codepage or helper program, or other error


Что ему надо? Что за /dev/loop0 ?

До этого делал
dd if=/dev/sda1 of=/dev/sdb1

заметил что
file /dev/sdb1
/dev/sdb1: Linux rev 1.0 ext4 filesystem data, UUID=dc2f4298-25af-4bda-abbf-a3c0a8fc9592 (needs journal recovery) (extents) (64bit) (large files) (huge files)

определяется как файл, вместо block special

Удалил rm /dev/sdb1 сделал повторно клон и примонтировался. Что было не совсем пойму. dd сначала файл создал обычный /dev/sdb1 ?

 , , , ,

gobot
()

Резко участились deadlock

Форум — Admin

Что то резко участились deadlock в mysql, в одной таблице. Раньше раз в год был 1 deadlock сейчас в день по 2-3 раза. После чего это произошло будет описано ниже.

Решил я создать индекс дополнительный. Вот собственно и все. После этого посыпались deadlock.

 ,

gobot
()

swap постоянно забит

Форум — Admin

На сервере debian почти постоянно забит на 100% swap, хотя память используется на 70% и ни разу не превышала этот порог.
Был давно установлен

vm.swappiness = 10

Но почему некоторые процессы продолжают скидывать в своп данные?

for file in /proc/*/status ; do awk '/VmSwap|Name|^Pid/{printf $2 " " $3}END{ print ""}' $file; done | sort -k 3 -n | awk '$3 > 5000'

php-fpm7.0 15939 5080 kB
php-fpm7.0 6023 5080 kB
nginx 12113 5104 kB
php-fpm7.0 6019 5116 kB
php-fpm7.0 6018 5120 kB
php-fpm7.0 6015 5172 kB
php-fpm7.0 6021 5172 kB
php-fpm7.0 6017 5200 kB
php-fpm7.0 6010 5212 kB
php-fpm7.0 5997 5236 kB
php-fpm7.0 6013 5252 kB
php 25432 5288 kB
php-fpm7.0 6022 5304 kB
php-fpm7.0 6020 5308 kB
php-fpm7.0 6016 5356 kB
php-fpm7.0 6025 5804 kB
php-fpm7.0 6031 6308 kB
php-fpm7.0 6026 6456 kB
php 30006 7160 kB
php-fpm7.0 6030 7228 kB
php 31132 7328 kB
nginx 8061 8136 kB
nginx 12112 8204 kB
php-fpm7.0 6028 9252 kB
node 11408 9364 kB
node 7240 11812 kB
containerd 9854 12192 kB
node 8063 12732 kB
mysqld 23504 20824 kB
dockerd 7924 21808 kB
node 12525 35868 kB

 ,

gobot
()

php fpm убить запрос если клиент отсоединился

Форум — Admin

Есть связка nginx+php-fpm. Хочу чтобы убивались запросы со стороны php, если клиент отсоединился

Например клиент запрашивает http://host/script.php

wget --read-timeout=1 --no-check-certificate -t 1 https://host/script.php

Через 1 сек. клиент закрывает соединение(--read-timeout=1), но nginx не закрывает соединение с сокетом /run/php-fpm.sock
netstat -nap | grep php | grep CONNECTED | grep -v mast
unix  2      [ ]         STREAM     CONNECTED     51186    21008/php-fpm: pool  /run/php-fpm.sock

и скрипт продолжает работать

Сам script.php засыпает за 10000 сек.
<?php
sleep(10000);


fastcgi_ignore_client_abort on в nginx не помогает

Да, можно поставить в самом php лимиты max_execution_time или request_terminate_timeout, но хотелось бы чтобы nginx закрывал сам соединение c php, если клиент уже отсоединился и не ждет результата работы скрипта

 ,

gobot
()

Чтение файла с конца

Форум — Web-development

Ищу быстрый способ чтения построчно большого файла с конца.
Нашел такой вариант с fseek https://werxltd.com/wp/2010/10/29/reading-a-file-line-by-line-in-reverse-with... но он тормозной. Все примеры в гугле основаны на перемещении указателя, но почему то все тормозное. Неужели fseek операция такая ресурсоемкая?
Собственно нужно вот что. Анализ лог-файла за последний час(в кроне скрипт запускается каждый час) и отыскивание ошибок с оповещением админу. Читаю файл с конца и когда дохожу до строки X, то прерывается

Замерил

Считывание 10 000 строк с начала файла
time loganalizer.php
real    0m0.020s

Считывание 50 000 строк с начала файла
time loganalizer.php
real    0m0.036s

Считывание 10 000 строк с конца файла
time loganalizer.php
real    0m3.105s

Считывание 50 000 строк с конца файла
time loganalizer.php
real    0m15.547s


stat /var/log/nginx/access.log.1
Size: 2 497 557 076



разница просто сумасшедшая, с конца файла в 155 и 500 раз дольше

 , ,

gobot
()

QoS ssh

Форум — Admin

Можно ли в linux использовать этот самый QoS, чтобы ssh был доступен, даже когда весь канал забивается? Или не qos, может через TC?

 , , ,

gobot
()

На 1 сервер 5000 IP

Форум — Admin

Как на 1 интерфейс навешать 5000 адресов и чтобы запросы шли рэндомно с этих IP?

Хочу что-то типа

iptables -A POSTROUTING -d 10.0.0.2/32 -j SNAT --to-source x.x.x.x

Но чтобы x.x.x.x подменялся рэндомно. Или нужно прописать в iptables 5000 правил?
Хочу потестировать сайт, но чтобы запросы на nginx шли со случайных адресов. Как лучше сделать? На тестируемом сервере думаю делать маршрут по умолчанию на 10.0.0.3(сервер с которого будут запросы идти)

 , , , ,

gobot
()

Spoofing ip

Форум — Admin

Насколько велика вероятность того, что запрос на сервер пришел с фейкового(подмененого) IP? Насколько я знаю, маршрутизаторы у ISP блокируют такие пакеты(если SRC изменен), то есть если клиенту выдали 3 IP, то в пакете SRC должен быть именно эти адреса, а не другие. Или есть такие ISP которые не делают таких проверок? Насколько их много?

 ,

gobot
()

Тестирую SYNPROXY, куки не отправляются

Форум — Admin

Хочу сделать SYNPROXY, для смягчения syn флуда. Вроде все понятно, делаю как тут https://www.opennet.ru/tips/info/2928.shtml или тут https://habr.com/ru/company/infobox/blog/232227/

Общий смысл ясен, исключить из conntrack syn, метить INVALID ложные ACK, отправлять куку, потом все это дело отправлять в SYNPROXY, там проверяется ACK от клиента и если он правильный, то создавать соединение, если нет, то следующее правило дропает пакеты.

Не пойму почему не отправляются куки, смотрю изменения через

netstat -s | grep -Ei "cook"
10 SYN cookies sent
2 SYN cookies received


Видно, что куки не отсылаются, хотя пакеты SYN идут с бешеной скоростью ~50 000PPS

Переполнения очереди SYN тоже нет
netstat -s | grep -Ei "listen"
0 SYNs to LISTEN sockets dropped



Однако, tcpdump показывает, что SYN+ACK пакеты отсылаются

tcpdump -i any -n port 80 and src 10.0.0.2
23:22:03.259081 IP 10.0.0.2.80 > 46.39.196.229.5827: Flags [S.], seq 515620665, ack 1531057089, win 0, length 0
23:22:03.259094 IP 10.0.0.2.80 > 191.24.222.41.5829: Flags [S.], seq 2946937250, ack 1684158566, win 0, length 0
23:22:03.259305 IP 10.0.0.2.80 > 73.95.252.199.5830: Flags [S.], seq 4071935182, ack 825496706, win 0, length 0
23:22:03.259382 IP 10.0.0.2.80 > 68.156.77.164.5831: Flags [S.], seq 3453282316, ack 1806698451, win 0, length 0
23:22:03.259417 IP 10.0.0.2.80 > 136.74.64.98.5832: Flags [S.], seq 966049922, ack 1438489520, win 0, length 0
23:22:03.259443 IP 10.0.0.2.80 > 5.39.64.98.5833: Flags [S.], seq 3456217848, ack 1877534406, win 0, length 0
23:22:03.259567 IP 10.0.0.2.80 > 75.2.162.73.5834: Flags [S.], seq 2934636789, ack 2019708598, win 0, length 0
23:22:03.259658 IP 10.0.0.2.80 > 151.8.33.142.5835: Flags [S.], seq 923844625, ack 176880257, win 0, length 0
23:22:03.259849 IP 10.0.0.2.80 > 141.122.230.196.5836: Flags [S.], seq 2816293618, ack 666495559, win 0, length 0
23:22:03.259892 IP 10.0.0.2.80 > 247.21.5.9.5837: Flags [S.], seq 2611127790, ack 1590842067, win 0, length 0
23:22:03.260048 IP 10.0.0.2.80 > 24.170.93.203.5841: Flags [S.], seq 2875532378, ack 1007533654, win 0, length 0
23:22:03.260099 IP 10.0.0.2.80 > 243.236.162.73.5839: Flags [S.], seq 4142336230, ack 855143884, win 0, length 0
23:22:03.260100 IP 10.0.0.2.80 > 106.106.151.181.5840: Flags [S.], seq 3272823395, ack 1830105953, win 0, length 0
23:22:03.260186 IP 10.0.0.2.80 > 46.79.157.229.5842: Flags [S.], seq 464842204, ack 958111797, win 0, length 0
23:22:03.260215 IP 10.0.0.2.80 > 95.152.222.141.5843: Flags [S.], seq 69167228, ack 1910363156, win 0, length 0
23:22:03.262073 IP 10.0.0.2.80 > 73.88.143.121.5844: Flags [S.], seq 404959580, ack 21012037, win 0, length 0
23:22:03.262219 IP 10.0.0.2.80 > 208.27.201.254.5847: Flags [S.], seq 2806492340, ack 715377600, win 0, length 0
23:22:03.262246 IP 10.0.0.2.80 > 154.236.128.246.5846: Flags [S.], seq 3797225913, ack 1438349079, win 0, length 0
23:22:03.262309 IP 10.0.0.2.80 > 157.45.122.93.5848: Flags [S.], seq 2918462004, ack 2056743493, win 0, length 0^C


Если очистить iptables -F то куки начинают отсылаться (смотрю через netstat -s SYN cookies sent)

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

Счечтик SYNPROXY растет, и попутно 1 ядро проца используется на 100%, растут пинги и потери пакетов.

Почему 1 ядро загружено на 100% ksoftirq (думаю отправка SYN+ACK?), хотя прерывания все распределил через rss-ladder и autorps и при входящем все ядра используются пропорционально

Тестирую так(2 виртуалки debian, 10.0.0.2(жертва) и 10.0.0.3(флудер))
hping3  --syn 10.0.0.2  -p 80  --rand-source -i u100
hping3  --syn 10.0.0.2  -p 80  --rand-source --flod


cat /etc/sysctl.conf

fs.file-max = 999999
net.core.netdev_max_backlog=10000
net.core.somaxconn=512 //больше нет смысла ставить, у nginx по умолчанию backlog=512
net.ipv4.tcp_syncookies=2 //отправлять куки всегда
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.tcp_max_tw_buckets = 65536
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_tw_reuse = 0
net.ipv4.tcp_fin_timeout = 5
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_keepalive_probes = 7
net.ipv4.tcp_keepalive_intvl = 75
net.core.wmem_max = 33554432
net.core.rmem_max = 33554432
net.core.rmem_default = 8388608
net.core.wmem_default = 4194394
net.ipv4.tcp_rmem = 4096 8388608 16777216
net.ipv4.tcp_wmem = 4096 4194394 16777216

net.netfilter.nf_conntrack_max=3000000
net.netfilter.nf_conntrack_tcp_loose = 0
net.netfilter.nf_conntrack_tcp_timeout_syn_recv = 1
net.netfilter.nf_conntrack_tcp_timeout_syn_sent = 1
net.ipv4.ip_forward = 0
net.ipv4.tcp_synack_retries = 1



iptables -t raw -nvL
Chain PREROUTING (policy ACCEPT 2871K packets, 115M bytes)
 pkts bytes target     prot opt in     out     source               destination
2851K  114M CT         tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x17/0x02 CT notrack

Chain INPUT (policy ACCEPT 21481 packets, 1127K bytes)
 pkts bytes target     prot opt in     out     source               destination
2602K  104M SYNPROXY   tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp ctstate INVALID,UNTRACKED SYNPROXY sack-perm timestamp wscale 7 mss 1460
    6   240 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate INVALID

 , , ,

gobot
()

iptables syn flood

Форум — Admin

Почему такое не работает?

-A INPUT -p tcp --dport 80 -m state --state NEW -m hashlimit --hashlimit-above 3/sec --hashlimit-burst 1 --hashlimit-mode srcip   --hashlimit-name syn -j DROP

Запускаю с другой
hping3  --syn 10.0.0.2  -p 80 -i u10000

Смотрю tpcdump
tcpdump -n -i any port 80 and src 10.0.0.3
130866 packets captured
131283 packets received by filter
417 packets dropped by kernel

пакеты идут со скоростью 100/sec, но счетчик на этом правиле не увеличивается
iptables -nvL INPUT
 pkts bytes target     prot opt in     out     source               destination
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80 state NEW limit: above 3/sec burst 1 mode srcip


cat /proc/net/ipt_hashlimit/syn
3600 10.0.0.3:0->0.0.0.0:0 0 0 0
3252 10.0.0.1:0->0.0.0.0:0 0 0 0

 , , ,

gobot
()

Пропадает сеть

Форум — Admin

Временами бывает что сервер(Debian 9.4) недоступен по сети, не знаю то ли у провайдера (сапорт пока молчит), то ли на сервере проблемы.

Симптомы
* Zabbix(на этом же сервере) показывает падение трафика почти до 0
* PPS тоже 0
* Пинг с другого сервера FAIL
* Нагрузка на проц падает
* netstat -na | grep SYN_RECV | wc -l = 502
* dropped\missed\fifo по нулям (network-top)
* В syslog пусто

Единственная аномалия это возросшие записи conntrack c ~7000 до 441 389 записей с флагом SYN_SENT UNREPLIED. Но переполнения таблицы не регистрируется.
/etc/sysctl.conf

net.core.somaxconn = 65535
net.core.netdev_max_backlog = 10000
net.core.netdev_budget = 600
net.netfilter.nf_conntrack_max=1048576
net.netfilter.nf_conntrack_tcp_loose = 0
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.tcp_syncookies = 1
net.netfilter.nf_conntrack_tcp_timeout_established = 7200


Что может быть? Похоже на syn flood, но в syslog пусто и нагрузки на проц нет

 , ,

gobot
()

Регулярка по замене hex

Форум — Web-development

Есть hex последовательность символов E2808c(utf-8 ZERO WIDTH NON-JOINER) в строке, их надо удалять. Как написать регулярку по их замене?
Пробую

text.replace(/\xe2\x80\x8c/gm, "")
не заменяет
text.match(/\xe2\x80\x8c/gm)
null

Ничего не заменяет

 , ,

gobot
()

nginx MAP из тысячей IP

Форум — Admin

У меня есть в iptables(ipset) список около 20000 IP, которые заблокированы. Хотелось бы убрать их из iptables и перенести блокировку в nginx. На ум приходит только MAP


  • Будет ли она тормозить nginx c таким списком?
  • Как бы ее обновлять динамически? На ум приходит только include, генерить файлик с адресами и nginx reload
  • Можно ли генерировать http ответ средством iptables?



Собственно задача, дать блокируемому адресу подключиться к 443 порту и выдать статичную страницу с уведомлением о блокировке. Сейчас же блокируемый тупо не может даже законнектиться к серверу и думает что ничего не работает.

 , , , ,

gobot
()

Nginx установка переменной

Форум — Admin

Хочу динамический fastcgi_read_timeout в зависимости от URL. Например при /stats 1m, /ajax 1s, остальные 3s
Пытаюсь

map $uri  $tm  {
	default "3s";
	"/stats" "1m";
        "/ajax"  "1s"
}
fastcgi_read_timeout $tm;

или даже проще
set $tm "1s";
fastcgi_read_timeout $tm;


Ругается «fastcgi_read_timeout» directive invalid value"
Хотя
set $fpm_sock "/run/php/prod.sock";
fastcgi_pass  unix:$fpm_sock;

работает

 

gobot
()

Nginx таймайт ожидания

Форум — Admin

Есть nginx+php-fpm через unix socket.
Пул static

...
pm = static
pm.max_children = 300
pm.max_requests = 1000
request_terminate_timeout = 60s
listen.backlog = -1
...

Когда одновременных клиентов >= 300, новые клиенты ожидают освобождения места в пуле(как я предполагаю :)). Это ожидание иногда доходит до минуты. Увеличивать max_children нет смысла, т.к. в нормальном режиме active processes < 10. Хотелось бы ограничить это время и сбрасывать принудительно

Пробовал в nginx
fastcgi_connect_timeout 1s;

Не помогло

 

gobot
()

Safari HLS отсутствует плагин

Форум — Web-development

На MacOS 10.13, Safari 11.1.2 при открывании напрямую файла .m3u8 выходит сообщение о том, что отсутствует плагин. Также не работают плееры, которые используют HLS в качестве доставки видео. Вроде как HLS родной формат Apple, что ж ему надо собаке?

 , ,

gobot
()

Странности nginx

Форум — Admin

С таким конфигом сервер выдает всегда 404, когда запрос по http идет. Если https использутся то норм

location / {

  if ($scheme = "http") {

  }

  try_files $uri $uri/ @php;
}


С этим конфигом нормально
location / {
  try_files $uri $uri/ @php;
}


Т.е. если if(true) то выдает 404. В IF можно подставлять любую проверку, главное чтобы было TRUE, даже если $uri = «/» будет, то сервер опять же выдает 404. Ничего не понимаю, почему он не доходит до try_files, а попадает в IF(){} и там как я понял затыкается

 ,

gobot
()

RSS подписка на новые темы