Skip to content

2022/05

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 出力部分に文字コードを指定するように微修正しました。 修正したスクリプトは以下です。 実行結果は変わりません。

Python で CML 上のノードのラベル / CPU / メモリ / X / Y 座標を変更するサンプル

以前に Python で CML 上のノードの X / Y 座標を変更するサンプル というメモを書きました。 X / Y 座標だけで無く、下記も修正出来るようにしました。 指定可能なオプションは以下です。

オプション 変更出来る値
-n 変更対象の No. を指定 (必須)
-l ラベル (画面表示上の名前)
-c CPU の数
-r メモリの搭載量 (MB)
-x X 座標
-y Y 座標

ANTLR チュートリアルを試す

ANTRL とは g4 と呼ばれる文法ファイルを入力し、構文木の解析を行う解析器を自動生成してくれるツールです。 公式サイトでは以下のように説明されています。

ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files. It's widely used to build languages, tools, and frameworks. From a grammar, ANTLR generates a parser that can build and walk parse trees.

今回は公式サイトにあるチュートリアルを実行した手順をメモしておきます。 検証は Ubuntu 22.04LTS 上で行いました。