215 похожих чатов

Подскажите, пожалуйста, есть ли в планах для http поддержка хидера

CONNECT(1)? Сейчас он валится с ошибкой о том, что не может распарсить реквест (и мне кажется, что именно из-за этого хидера).

Некоторые мои юзеры любят засыпать на кнопке F5, поэтому нужен HTTP'шный кэш, чтобы можно было из любого языка в HTTP-либе указать в качестве прокси Тарантул, закэшировать ответ GET-запроса в нем на время, а потом дропнуть через expirationd.

1 - https://datatracker.ietf.org/doc/html/rfc7231#section-4.3.6

17 ответов

15 просмотров

это очень актуальный вопрос ❔. Я раньше тоже сталкивался с таким фичой но потом понял что это еще нету

Sergey-Fedorov Автор вопроса

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

👍

CONNECT - это метод, а не header. Это просто создание TCP-туннеля. Зачем превращать БД в (грубо) прокси/VPN - я не очень понимаю.

полагаю что думают так увеличить перф, снизив хидерную нагрузку

Sergey-Fedorov Автор вопроса

Метод, да, я ошибся. Нужно это затем, чтобы можно было из любой std'шной библиотеки любого языка за пару секунд обратиться куда угодно и закэшировать ответ. То есть я внутри тарантула обрабатываю реквест, вынимаю из него URL запроса, потом иду по нему тарантуловским http-клиентом, получаю ответ, складываю в спейс и из него возвращаю обратно, а в дальнейшем дополнительно хотелось регулярно обновлять кэш внутри тарантула и отдавать клиенту всегда актуальные данные.

Тарантул же сам конструктор кэшей, поэтому не боится, чтобы в него ходили напрямую. Как у вас будут отличаться запросы в "кэш" и запросы в Тарантул как базу?

Sergey-Fedorov Автор вопроса

Да, я об этом выше и написал, можно ходить напрямую в тарантул, но придется на клиенте упаковать URL и передать его в Тарантул. С прокси ничего делать не нужно, прописал в ENV хост:порт и все. Мне вообще код клиента трогать не придется.

Есть модуль для nginx который заворачивает Тарантул в протокол memcached

Так это, можно сейчас так или нельзя? Если нельзя, то попросим завести issue. Если можно, то ништяк.

Нельзя. Это скорее всего ни один HTTP(S) сервер не умеет AFAIK, это для прокси, используется в основном для хождения из корпоративной сети на сайты с HTTPS. И на архитектуру libh2o это не ложится от слова совсем.

С учётом повсеместного HTTPS - придётся устраивать MitM и устанавливать на клиентов левые корневые сертификаты. Гигантская дыра в безопасности. Это точно Ваш путь?

Ты ошибаешься. Никакого mitm. Там просто туннелирование

Если просто туннелирование - Tarantool-то зачем? Я явно не понимаю задачу.

Sergey-Fedorov Автор вопроса

Все давно в DMZ по HTTP, люди там не живут.

По HTTP на прокси приходят GET/POST и пр. Откуда там CONNECT возьмётся? Это очень нестандартный клиент нужен.

Sergey-Fedorov Автор вопроса

Немного попозже развернуто расскажу и покажу, не у компа сейчас

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта