ブックマーク / hnakamur.github.io (13)

  • freenginxでAgeヘッダーの扱いが改善されました · hnakamur's blog

    2024-07-22 はじめに nginxとそのフォークのfreenginxはAgeレスポンスヘッダーの値を一切更新しないという挙動になっていましたが、freenginxではそれが改善されたという話です。 ただし、コミットはされましたがリリースはまだです。おそらく次のリリースに含まれると思います。 過去 2012年に#146 (Age header for proxy_http_version 1.1) – nginxというイシューは作られていましたが、対応されないままになっていました。 今回の経緯 2024-06-14 nginx-develメーリングリストにパッチを投げてみました。 が、出来が悪かったようで[PATCH 0 of 3] Update Age response header correctly、コメントがつきませんでした。 2024-06-20 freenginx-dev

    tmatsuu
    tmatsuu 2024/07/24
    わいわい。nginxも一応まだtracを見る限り更新は続いているのだが、今勢いがあるのはやはりfreenginx。freenginxが各ディストリビューションでメインとして採用される日も近いかもしれない。
  • ModSecurityについて調べた · hnakamur's blog

    2024-02-10 レポジトリ owasp-modsecurity/ModSecurity: ModSecurity is an open source, cross platform web application firewall (WAF) engine for Apache, IIS and Nginx that is developed by Trustwave’s SpiderLabs. It has a robust event-based programming language which provides protection from a range of attacks against web applications and allows for HTTP traffic monitoring, logging and real-time analysis. W

    tmatsuu
    tmatsuu 2024/02/10
    2024-01-25にTrustwaveからOWASPに移管。へー知らなかった。
  • Quantileについて調査してみた(途中) · hnakamur's blog

    2023-01-10 はじめに uint64で高速にLog2を計算する方法を知った · hnakamur’s blogのあと、題のQuantileについて調査したのでメモです。実はまだ途中なのですが、この後一旦他のことをするので現状をメモしておくということで。 試したレポジトリは https://github.com/hnakamur/quantile_experiment です。 Quantileを推測するアルゴリズムはいろいろある まず推測する方式の前に、愚直に算出する方式を考えると、全ての入力値を取っておいてランクに対応する値を調べるということになります。ただ、それだと入力値が多くなってくると保管する領域も多くなってしまいます。 そこで入力値を適宜間引きながら、なるべく高精度で近似値を出すようなアルゴリズムがいろいろ考案されているというわけです。 Greenwald-Khanna方

    tmatsuu
    tmatsuu 2023/01/15
    わいわい。これもメモだ。自分も移植する
  • uint64で高速にLog2を計算する方法を知った · hnakamur's blog

    2023-01-03 はじめに kazuhoさんのツイートとソースを見て、題のパーセンタイル値をインクリメンタルに更新する方法の前に、 static uint64_t ullog2(uint64_t x)というuint64の整数のlog2を高速に計算する関数に興味がわいて調べてみたのでメモです。 試したコードはhnakamur/log2_experimentに置いてます。 2022-01-10追記 その後さらに更新しました 2022-01-04追記の説明、今から見ると自分でもよくわかりませんが、x=0では呼ばないという前提で以下のように変えました。 // ILog2 calculates log2 of a uint64 value. // Ported from // https://github.com/h2o/h2o/pull/3177/files func ILog2(x uin

    tmatsuu
    tmatsuu 2023/01/08
    わいわい。メモ
  • マイナンバーカードに含まれる2つの電子証明書について調べてみた · hnakamur's blog

    出力ファイル名の日付部分は出力した際の日時になっていました。 基4情報 総務省|マイナンバー制度とマイナンバーカード|マイナンバーカード に以下の説明があります。 「署名用電子証明書」は、氏名、住所、生年月日、性別の4情報が記載され、e-Taxの確定申告など電子文書を送信する際に使用できます。 openssl で 署名用電子証明書の SAN (Subject Alternative Name) を見てみると以下のようになっていました。 $ openssl x509 -noout -ext subjectAltName -in CertUserSign*.cer X509v3 Subject Alternative Name: othername: 1.2.392.200149.8.5.5.1::【氏名】, othername: 1.2.392.200149.8.5.5.4::【生年月日X

    tmatsuu
    tmatsuu 2022/11/05
    わいわい。いいね。自分も手を動かしてあとで確認してみる
  • GPGのプライマリーキーとサブキーを作成 · hnakamur's blog

    2022-08-06 はじめに 以下の記事を参考にGPGのプライマリーキーとサブキーを作成してGitのコミットの署名をやってみたメモです。 脱線多めですが、自分用の記録ということで。 GnuPG - ArchWiki GPGで自分用の秘密鍵を1つに統一する · JoeMPhilips ED25519のGPGキーを生成してコミットに署名する - Weblog by shuuji3 GitのコミットにGnuPGで署名する - Qiita LXD でオフラインのコンテナを作成して起動 How to switch off networking for a container? - LXD - Linux Containers Forum によると eth0 をコンテナから削除すればオフラインで実行できるとのことなので、これでやってみました。 通常はコンテナの作成と起動は lxc launch サブ

    tmatsuu
    tmatsuu 2022/08/07
    わいわい
  • Linuxのkernel TLSでnginxのSSL_sendfileを試してみた · hnakamur's blog

    2021-10-31 はじめに OpenSSLのSSL_sendfileとパッチを当てたnginxLinuxのkTLSを試してみた · hnakamur’s blog を書いてから1年半経って状況が変わっていたので再度試してみました。 9日前に SSL: SSL_sendfile() support with kernel TLS. · nginx/nginx@1fc61b7 で Linux の kernel TLS を使って sendfile するコードが nginx に入っていました。 コミットメッセージによると enable-tls オプションを有効にした OpenSSL 3.0 が必要とのことです。 検証環境 $ cat /etc/os-release | grep ^VERSION= VERSION="20.04.3 LTS (Focal Fossa)" $ uname -r

    tmatsuu
    tmatsuu 2021/11/14
    実践編。わいわい
  • Ubuntu 20.10 で apt-key add が deprecated になっていたので代替スクリプトを書いた · hnakamur's blog

    2020-12-10 2022-05-17 追記:別のスクリプトを書きました https://github.com/hnakamur/setup-my-ubuntu-desktop/blob/main/my-apt-add-repository 事前に gpg, coreutils パッケージがインストールされている必要があります。 使用例 curl -sS 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x532a4a026239fc3baeb7869c60d954a11017341e' | my-apt-key-add - hnakamur-ubuntu-nginx-jammy 2021-07-21 追記:このスクリプトは使わないでください 第675回 apt-keyはなぜ廃止予定となったのか:Ubuntu Weekly

    tmatsuu
    tmatsuu 2021/01/02
    あらそうなの知らなかった。各種webサイトでapt-key addを実行する手順になってる気がするので皆様ご確認ください。
  • ksarでsysstatのメトリックをグラフで表示 · hnakamur's blog

    2020-08-09 はじめに サーバーのメトリックを確認するのに sysstat の sar コマンドが便利ですが、 ksar でグラフで見るほうがさらに便利です。 ということで手順をメモしておきます。 sysstat のインストールと設定 sysstat のインストール Ubuntu では以下のように sysstat パッケージをインストールします。 1分単位に記録するように設定変更 パッケージに含まれる sysstat の cron 用の設定ファイル /etc/cron.d/sysstat は以下のように10分ごとにメトリックを記録するようになっています。 # The first element of the path is a directory where the debian-sa1 # script is located PATH=/usr/lib/sysstat:/usr/

    tmatsuu
    tmatsuu 2020/08/12
    sysstat、毎秒記録が可能なの知らなかった。長期保存も可能。わいわい。
  • KeePassとKeeAgentでWSL2用にssh-agentを動かす · hnakamur's blog

    2020-05-29 はじめに wsl-ssh-agentでWindows Subsystem for LinuxからWindowsのssh-agentを使う設定手順 · hnakamur’s blog は快適だったのですが WSL2 では使えないことが分かりました。 wsl-ssh-agent の WSL 2 compatibility に回避策が書いてあるのを見つけ Use an ssh-agent in WSL with your ssh setup from windows 10 も読んで設定してみたので手順をメモしておきます。 KeePass と KeeAgent プラグインをセットアップ KeePass Password Safe はパスワードマネージャーですが、 KeeAgent – lechnology.com プラグインを入れると experimental ではありますが

    tmatsuu
    tmatsuu 2020/06/02
    wわいわい
  • wsl-ssh-agentでWindows Subsystem for LinuxからWindowsのssh-agentを使う設定手順 · hnakamur's blog

    wsl-ssh-agentでWindows Subsystem for LinuxからWindowsのssh-agentを使う設定手順 2020-03-06 はじめに Windows 10 に OpenSSH クライアントをインストール · hnakamur’s blog で Windows の ssh-agent を使いだしてから Windows Subsystem for Linux (以下WSLと略)からも使いたいと思うようになりました。 調べてみると wsl-ssh-agent で出来るそうなので設定手順をメモ。 設定手順 wsl-ssh-agent のダウンロードと解凍 Releases · rupor-github/wsl-ssh-agent から最新版の wsl-ssh-agent.7z をダウンロードします。 解凍するには ダウンロード | 7-Zip から 7-Zip

    tmatsuu
    tmatsuu 2020/06/02
    wsl-ssh-agentわいわい
  • goで書いたコードがヒープ割り当てになるかを確認する方法 · hnakamur's blog

    2018-01-30 はじめに Allocation Efficiency in High-Performance Go Services · Segment Blog という記事を読みました。素晴らしいのでぜひ一読をお勧めします。 この記事は自分の理解と実際に試してみた結果のメモです。 一番のポイントは go build -gcflags '-m' のようにオプションを指定してビルドすればコードのどの箇所でヒープ割り当てが発生したかを確認できるということです。 pprof や go test -benchmem でもヒープ割り当ての発生回数は確認できますが、上の方法ではコードのどこ(何行目の何カラム目)でヒープ割り当てが発生したかとなぜ発生したかの理由を確認できます。 元記事の内容メモ 冒頭にあげた記事を読んで私が理解した内容のメモです。 元記事の全ての内容を書いているわけでないので、元

    tmatsuu
    tmatsuu 2020/06/02
    とても勉強になった。とある処理でio.Reader化して早くなるかと思いきやそうでもなかったのはそういうことか。
  • io_uringのサンプルを試してみた · hnakamur's blog

    2020-04-07 はじめに io_uring について以下の素晴らしい入門記事を知ったので試してみたメモです。 io_uring By Example: An Article Series - Unixism io_uring by example: Part 1 - Introduction - Unixism io_uring By Example: Part 2 - Queuing multiple requests - Unixism io_uring By Example: Part 3 - A Web Server with io_uring - Unixism サンプルソースコード shuveb/io_uring-by-example: A companion repository for the io_uring by Example article series RE

    tmatsuu
    tmatsuu 2020/04/29
    わいわい
  • 1