У меня есть в iptables(ipset) список около 20000 IP, которые заблокированы. Хотелось бы убрать их из iptables и перенести блокировку в nginx. На ум приходит только MAP
Будет ли она тормозить nginx c таким списком?
Как бы ее обновлять динамически? На ум приходит только include, генерить файлик с адресами и nginx reload
Можно ли генерировать http ответ средством iptables?
Собственно задача, дать блокируемому адресу подключиться к 443 порту и выдать статичную страницу с уведомлением о блокировке. Сейчас же блокируемый тупо не может даже законнектиться к серверу и думает что ничего не работает.
Когда одновременных клиентов >= 300, новые клиенты ожидают освобождения места в пуле(как я предполагаю :)). Это ожидание иногда доходит до минуты. Увеличивать max_children нет смысла, т.к. в нормальном режиме active processes < 10. Хотелось бы ограничить это время и сбрасывать принудительно
На MacOS 10.13, Safari 11.1.2 при открывании напрямую файла .m3u8 выходит сообщение о том, что отсутствует плагин. Также не работают плееры, которые используют HLS в качестве доставки видео. Вроде как HLS родной формат Apple, что ж ему надо собаке?
Т.е. если if(true) то выдает 404. В IF можно подставлять любую проверку, главное чтобы было TRUE, даже если $uri = «/» будет, то сервер опять же выдает 404. Ничего не понимаю, почему он не доходит до try_files, а попадает в IF(){} и там как я понял затыкается
Раньше был сафари под винду, сейчас его нет. Есть какие то эмуляторы
iPadian - платный, пробовал какую то бесплатную версию, ничего не получилось MobiOne Studio - проект официально прекращен Air iPhone - не удалось установить Xamarin - не понятно, вроде какой то фреймворк для Visual Studio
Appetize.Io - онлайн сервис, реально работает, но не удобно. Нет консоли, лимит по времени, маленький экран
В последнем хроме почему то примерно через 30-120 сек приостанавливается видео. При этом звук продолжает идти Навесил уже все события(error, abort, pause, suspend, interruptend, ended...) - ничего подозрительного нет. Событие progress генерируется, но видео остановлено. Ошибок нет video.error = null. С сетью все норм, в консоле пусто. Проверял в Опере - нормально идет уже пол часа. Параметры такие
autoplay=false
muted=true
Заметил, что перестает расти счетчик video.webkitDecodedFrameCount
Ffmpeg берет поток из RTP(h264+aac), без перекодировки видео и шлет его на rtmp сервер. Все нормально работает, но если видео остановить(нажать на паузу), то в rtmp не будут передаваться ключевые кадры(iframe) и клиент не увидит статичной картинки. Если нажать на play, то нормально, видео пойдет.
Можно как-нибудь заставить ffmpeg генерировать i-frame(ключевой) без перекодировки(-vcodec copy) видео? Точнее нужно отправлять последний iframe(кэшировать?), если он не был отправлен допустим последние 3 сек. В нормальном режиме интервал около 2-3 сек.
Делала через -force_key_frames 0:00:01 не помогает
Или как заставить слать этот кадр источник(в моем случае браузер, webrtc). Получаю поток через getUserMedia(mediaConstraints), но в параметрах нет возможности указать что то типа force keyframe interval
AudioObjectType samplingFrequencyIndex - мне нужно 0x3 48000Khz channelConfiguration - 2 - стерео
Вот как это все связать с config & profile-level-id не понятно
Как они получили эти цифры?
profile-level-id=16
config=11B0
Ранее в такие дебри не влезал, но без этого не настроить правильно кодек )
AudioObjectType A five bit field indicating the audio object type Допустим я выбираю AudioObjectType=1(AAC Main), что значит пятибитное поле, как куда его писать?
Мне нужно в проекте https://github.com/ant-media/Ant-Media-Server изменить пару строчек и пересобрать все это дело. Опыт был только с проектами Android, но там сырой Java и вроде как с maven. Недолго думая установил IntelliJ Idea, скачал репозиторий, распаковал папку и сделал импорт Maven project из idea. Вроде как все импортировал, проиндексировал, но когда нажимаю Rebuild Project, то вылазит куча ошибок непонятных мне. Типа таких
Error:(21, 33) java: cannot find symbol
symbol: class IScope
location: package org.red5.server.api.scope
import org.red5.server.api.scope.IScope;
Документации по сборке вообще нет никакой. Хочу понять правильно ли я вообще начал его собирать и тем ли софтом. Подскажите с чего вообще начать
Хочу заливать APK на сервер после сборки релиза. Сделал в gradle срипт, работает все нормально, но мне нужно заливать его не после каждой сборки, а только если выбрал в студии через меню Build -> Build bundles -> Build APK.
Есть ли какое то свойство типа android.buildAPKFomMenu по которому можно будет определять как именно вызывалась сборка? Ну или какой то может макрос сделать, чтобы по кнопке на сервер заливалось?
Иногда, сами по себе, как то рэндомно, бывает раз в месяц, бывает раз в 4 месяца, некоторые процессы(nginx, php-fpm) переходят в nice = 1. Что может быть, кто их заставляет понижать свой приоритет? Например, сегодня был переход в nice=1 php-fpm после возросшего iowait(делался бэкап). Может как то с этим связано?
Купил сертификат у которого корневой USERTrust RSA Certification Authority, выданный 01.02.2010 и столкнулся с проблемой, что в некоторых андроидах его нет в доверенных. Есть похожий, но там дата стоит 1999 год и кончается в 2019. Поэтому браузер ругается на сайт с этим сертификатом. Правильно ли я понимаю, что решить эту проблему можно только заменой сертификата, у которого корневой есть в старых андроидах?
На старых(тестил на 4.3) андроид не работает cайт по https.
Браузер пишет:
this certificate isn't from a trusted authority
Вроде как не хватает промежуточного сервера(или о корневом не знает?) в цепочке сертификатов. Сертификат покупал, все цепочки запихал в файлик и скормил nginx.
openssl s_client -connect site.com:443
CONNECTED(00000003)
depth=2 C = US, ST = New Jersey, L = Jersey City, O = The USERTRUST Network, CN = USERTrust RSA Certification Authority
verify return:1
depth=1 C = GB, ST = Greater Manchester, L = Salford, O = Sectigo Limited, CN = Sectigo RSA Domain Validation Secure Server CA
verify return:1
depth=0 OU = Domain Control Validated, OU = PositiveSSL, CN = site.com
verify return:1
---
Certificate chain
0 s:/OU=Domain Control Validated/OU=PositiveSSL/CN=site.com
i:/C=GB/ST=Greater Manchester/L=Salford/O=Sectigo Limited/CN=Sectigo RSA Domain Validation Secure Server CA
1 s:/C=GB/ST=Greater Manchester/L=Salford/O=Sectigo Limited/CN=Sectigo RSA Domain Validation Secure Server CA
i:/C=US/ST=New Jersey/L=Jersey City/O=The USERTRUST Network/CN=USERTrust RSA Certification Authority
2 s:/C=US/ST=New Jersey/L=Jersey City/O=The USERTRUST Network/CN=USERTrust RSA Certification Authority
i:/C=US/ST=New Jersey/L=Jersey City/O=The USERTRUST Network/CN=USERTrust RSA Certification Authority
соответсвенно генерируется исключение, которое попадает в Thread.UncaughtExceptionHandler
D/AndroidRuntime: Shutting down VM
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.app.ProgressDialog.setTitle(java.lang.CharSequence)' on a null object reference
тут обработка uncaughtException
Application terminated
Вроде как строго типизированный язык, как с++ и ошибки сведены к 0 теоретически. Какие подводные камни будут при написании крупного(относительно) приложения на андроид?