Skip to content

Blog

64bit Linux 環境へ direnv 2.31.0 をインストールし Python の venv を自動切り替えする

以前に Python の venv 環境を direnv で自動的に有効/無効化する というメモを書きました。 direnv の最新リリースとなる バージョン 2.31.0 がリリースされていましたので、改めて linux-amd64 環境向けのインストール手順をメモし直しておきます。 direnv のバージョンが少し上がっていること以外は、以前のメモ とほぼ同じ内容です。

Ubuntu 22.04LTS の Apache2 で X-Forwarded-For をログに記録する

Ubuntu 22.04LTS へ Apache2 をインストールした場合、デフォルトで /etc/apache2/apache2.conf のログフォーマット指定は以下になっていました。

1
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined

X-Forwarded-For も Apache2 のログに追記する場合は以下のように書き換えます。

1
LogFormat "%{X-Forwarded-For}i %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

設定変更を反映する為に Apache2 のサービスを再起動します。

1
systemctl restart apache2.service

これで Apache2 のログ (デフォルトでは /var/log/apache2/access.log) に X-Forwarded-For が記録されるようになります。

httpbin.org を使って X-Forwarded-For をテストする

以前に書いた CLI から curl でグローバルアドレスを取得する でも触れましたが、httpbin.org を使うと HTTP / HTTPS のテストに便利です。 httpbin.org を使えば「X-Forwarded-For が挿入されているか?」「どのような値が挿入されているか?」を簡単に確認出来ます。 利用方法は httpbin(1): HTTP Request & Response Service に書かれていますが、具体的には以下を実行するだけです。 HTTPS で実行したい場合はプロトコルを https へ変更します。

1
curl -s http://httpbin.org/headers\?show_env=1

以下に HTTP / HTTPS でクエリーしたサンプルを例示しておきます。

squid でアクセスログを日付形式にする

squid のアクセスログはデフォルトだと UNIX タイムで表示され、人間には「いつのログなのか?」を直感的に理解することが出来ません。 そこで、今回は squid のアクセスログを日付形式へ変更する方法をメモしておきます。

「Cisco Webex Teams のメンバーを取得するサンプル」の 2 バイト文字対応版

以前に Python で Cisco Webex Teams のスペースに所属するメンバー一覧を取得する というメモをました。 ただ、このサンプルだと「取得したスペース名が 2byte 文字が含まれている場合、出力した CSV ファイルが文字化け」していた為、CSV 出力部分に文字コードを指定するように微修正しました。 修正したスクリプトは以下です。 実行結果は変わりません。