Apache へのアクセスを IP アドレスやヘッダで制限する
Ubuntu 上の Apache へのアクセスを IP アドレスやヘッダを組み合わせた条件で制限する設定方法をメモしておきます。
Ubuntu 上の Apache へのアクセスを IP アドレスやヘッダを組み合わせた条件で制限する設定方法をメモしておきます。
OCTOPATH TRAVELER 大陸の覇者 のソリスティアに出現する 120NPC の弱点、支援技、出現場所をメモしておきます。
CloudFront ではカスタムヘッダを追加することも可能です。 今回は「カスタムヘッダを追加しない場合」「追加した場合」、各々のケースでどのようにリクエスト・レスポンスの見え方が異なるのか、メモしておきます。
以前に Ubuntu に ripgrep をインストールする というメモを書きました。 ripgrep (rg) は [Rust] 製のツールで grep と同じように検索が行えます。 ripgrep がインストールされている前提ですが、rga を使うとテキストファイルだけで無く、様々なファイルを検索出来るようになります。 ripgrep-all の GitHub ページには以下の説明がされています。
rga is a line-oriented search tool that allows you to look for a regex in a multitude of file types. rga wraps the awesome ripgrep and enables it to search in pdf, docx, sqlite, jpg, movie subtitles (mkv, mp4), etc.
ripgrep も ripgrep-all も macOS であれば Homebrew から、Ubuntu であれば Rust Tools apt repo から、いずれにしても簡単にインストールすることが出来ます。 Rust Tools apt repo のインストール方法は Ubuntu に「Rust Tools apt repo」をインストールする にメモしました。 今回は ripgrep-all を使って PDF ファイルを検索する方法をメモしておきます。
以前に以下のメモを書きました。
この過去メモに記載した init-os リポジトリへ新たに Ubuntu 24 の qemu イメージをカスタマイズする為の init-qemu-ubuntu24.sh というスクリプトを追加しました。 今回はこのスクリプトを使って作成した Ubuntu 24 イメージを CML 上で動作させる手順をメモしておきます。
以前に HTTPie のインストールと基本的な使い方 というメモを書きました。 HTTPie は CLI の HTTP / HTTPS クライアントです。 これを Rust で書き直したものが xh です。 xh は HTTPie とオプションがほぼ互換である為、HTTPie の利用経験があれば xh も利用出来るはずです。 HTTPie と xh の比較については How xh compares to HTTPie に以下の記載があります。
Advantages
- Improved startup speed.
- Available as a single statically linked binary that's easy to install and carry around.
- HTTP/2 support.
- Builtin translation to curl commands with the --curl flag.
- Short, cheatsheet-style output from --help. (For longer output, pass help.)
Disadvantages
- Not all of HTTPie's features are implemented. (#4)
- No plugin system.
- General immaturity. HTTPie is old and well-tested.
- Worse documentation.
今回は xh の基本的な使い方をメモしておきます。
Cisco CML 2.8.1 がリリースされていました。 既存環境からのアップグレード手順は CML 2.7.2 へアップグレードする にまとめてあります。
最近の CML は主に以下の 3 要素から構成されています。 Cisco SD-WAN を利用しないのであれば必ずしも Supplemental Reference Platform は必要ありません。 今回の 2.8.1 リリースタイミングでは Supplemental Reference Platform の更新はありませんが、Reference Platform は更新されています。 但し、Reference Platform の変更点は「TRex イメージの差し替え」のみです。 もし TRex イメージを利用していないのであれば、Reference Platform を更新する必要はありません。
今回の更新 | 項目 | 説明 |
---|---|---|
有り | CML 本体 | - |
有り | Reference Platform | TRex イメージのみ、更新されている |
- | Supplemental Reference Platform | 変更無し |
昨今、様々なツールが Rust で提供されています。 一例ですが、下記などです。
余談ですが、Rustで進化するPayPayのスケーラビリティ によると PayPay も「Java + NodeJS」から「Rust」へ移行しているそうです。
Rust Tools apt repo (GitHub リポジトリはこちら) を利用すると、Debian / Ubuntu へ apt を利用して幾つかの Rust 製ツールをインストール出来ます。 Rust 製ツールであれば Cargo で管理出来ますが、OS のパッケージも Rust 製ツールも全てを apt で扱えれば管理が楽になります。 今回はこの Rust Tools apt repo を Ubuntu で利用出来るようにする手順をメモしておきます。
現時点で AWS CloudFront で実際のコンテンツを配信するオリジンには IP アドレスを直接、指定することは出来ません。
Distribution settings reference には以下の記載があります。 「直接、IP アドレスを指定することは出来ない」と書かれているわけでは無いようですが、「DNS ドメイン名を指定しろ」という記載には読めます。
The origin domain is the DNS domain name of the resource where CloudFront will get objects for your origin, such as an Amazon S3 bucket or HTTP server. For example:
- Amazon S3 bucket – amzn-s3-demo-bucket.s3.us-west-2.amazonaws.com
CML 上で IOSv や IOSvL2 を起動すると、明示的に設定していなくても自動的にバナーの設定が追加されてしまいます。 挙動に影響するわけではありませんが、show running-config
を確認する度に「バナー分のコンフィグが長くなって表示される」という点がややデメリットです。 今回はこのバナーを EEM (Embedded Event Manager) を使って自動的に削除するコンフィグ例をメモしておきます。
尚、今回の設定を実施してバナー設定を削除する前後でコンフィグ全体の業務は概ね、以下の差がありました。
OS | 変更前 (初期状態) | 変更後 (EEM 追加後) | 差分 |
---|---|---|---|
IOSv | 138 | 111 | -27 |
IOSvL2 | 112 | 85 | -27 |