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 |
|
X-Forwarded-For も Apache2 のログに追記する場合は以下のように書き換えます。
1 |
|
設定変更を反映する為に Apache2 のサービスを再起動します。
1 |
|
これで 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 |
|
以下に HTTP / HTTPS でクエリーしたサンプルを例示しておきます。
ドキュメンテーションで例示可能な IPv4 / IPv6 アドレス
IPv4 / IPv6 各々でドキュメンテーション時に利用可能なアドレス範囲をメモしておきます。
- IPv6 Address Prefix Reserved for Documentation
- IPv4 Address Blocks Reserved for Documentation
- Special-Purpose IP Address Registries
Address | Description |
---|---|
192.0.2.0/24 | TEST-NET-1 |
198.51.100.0/24 | TEST-NET-2 |
203.0.113.0/24 | TEST-NET-3 |
2001:db8::/32 |
squid でアクセスログを日付形式にする
squid のアクセスログはデフォルトだと UNIX タイムで表示され、人間には「いつのログなのか?」を直感的に理解することが出来ません。 そこで、今回は squid のアクセスログを日付形式へ変更する方法をメモしておきます。
Python で GitHub の GraphQL API へアクセスする
Python から gql を使って GitHub の GraphQL API を呼び出すサンプルをメモしておきます。 対象は octocat / Hello-World リポジトリとし、Pull Request の一覧を取得します。
Scrapli を非同期実行するサンプル
以前に ネットワーク機器の操作を自動化する scrapli の基本的な使い方 というメモを書きました。 Scrapli を非同期処理する例は scrapli/examples/async_usage/async_multiple_connections.py にあります。 これを「不要な警告を表示しない」等、多少修正したスクリプト例をメモしておきます。
「Cisco Webex Teams のメンバーを取得するサンプル」の 2 バイト文字対応版
以前に Python で Cisco Webex Teams のスペースに所属するメンバー一覧を取得する というメモをました。 ただ、このサンプルだと「取得したスペース名が 2byte 文字が含まれている場合、出力した CSV ファイルが文字化け」していた為、CSV 出力部分に文字コードを指定するように微修正しました。 修正したスクリプトは以下です。 実行結果は変わりません。