WordPress で cf-cache-status: BYPASS のままで HIT にならない

私の場合だけども、cloudflare で。


❯ curl -sI https://android.benigumo.com/ | grep 'cf-cache'
cf-cache-status: BYPASS

どうやっても「HIT」にならない。

レスポンスヘッダーに set-cookie があると cloudflare のキャッシュが効かなくなるらしい。

Additionally, the following headers have given me grief with CF in the past, they should not be present:

Set-Cookie

👉 CF-CACHE-STATUS showing BYPASS - Website, Application, Performance - Cloudflare Community

確認すると、謎の cookie セットがある。


❯ curl -sI https://android.benigumo.com/
HTTP/2 200
date: Sun, 02 Feb 2025 06:42:13 GMT
content-type: text/html; charset=UTF-8
vary: Accept-Encoding
vary: accept, content-type
set-cookie: 6666cd76f96956469e7be39d750cc7d9=1738478533; expires=Sun, 02-Feb-2025 07:42:13 GMT; Max-Age=3600; path=/

web リソース内を grep して、

あやしそうなプラグインを特定後、無効化しながら確認する。

私の場合は、中華産プラグインでした。

削除後。


❯ curl -sI https://android.benigumo.com/ | grep 'cf-cache'
cf-cache-status: HIT

1秒あたり15リクエストしか返せなかったのが、

キャシュが効いて71リクエストを返せるようになりました!


❯ wrk https://android.benigumo.com
Running 10s test @ https://android.benigumo.com
  2 threads and 10 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   201.93ms  252.04ms   1.57s    88.06%
    Req/Sec    38.47     20.07    90.00     63.01%
  713 requests in 10.03s, 68.66MB read
  Socket errors: connect 0, read 0, write 0, timeout 1
Requests/sec:     71.06
Transfer/sec:      6.84MB

Cloudfrare プラグインは有料化への誘導なだけなので、

記事の更新や追加時のキャッシュのパージは手動で行います。


【macOS】ルーターの注意喚起が出たら arp-scan がいいよ

ああ、ルーターの機種がもろ該当。

 

🛜 Buffalo バッファロー のルーターで注意喚起が出た

こういうの良く出てますけども。

対象の製品を利用していること、そしてWeb設定画面のパスワードが工場出荷時のまま、もしくは推測しやすい文字列を設定していることの両方を満たす場合には、bot感染の可能性がある。

👉 バッファローが一部Wi-Fiルーターで注意喚起、bot感染増加を受け パスワード変更やファームウェア更新を - ITmedia NEWS hatena-bookmark

1つは、一旦設定を初期化すること。「インターネット設定等を工場出荷時のまま利用されている場合は、可能な限り設定を初期化しご利用ください」との表現がされているが、工場出荷時の状態から利用し続けている場合、意図しない設定変更が行われているおそれがあるので、一度初期化したのち、以下の対策を行ってほしい、との意図だという。

 次に、パスワード(ここで指しているのは、Wi-Fi接続用のパスワードではなく、Web設定画面にログインするための管理パスワード)を推測されにくい複雑なものに変更するとともに、ファームウェアを更新すること。なお、WSR-600DHPは工場出荷時の状態でファームウェアが自動更新されるようになっているが、ほかの4製品は自動更新機能を持たないため、手動での更新が必要となる。

 最後に、Web設定画面の[詳細設定]-[管理]-[システム設定]にて、「Internet側リモートアクセス設定を許可する」が無効になっていることを確認すること。なお、設定の初期化を行った場合は、この設定は無効になるため、確認の必要はないという。

👉 【追記あり】バッファローのWi-Fiルーター「WSR-1166DHP」シリーズほかのボット感染が増加、NICTER解析チームが警告 - INTERNET Watch hatena-bookmark

脆弱性の話はいつもあいまいなはっきりしない対応策が多いので分かりづらい。

注意はすればするほど安全なのだろう。

バッファロー公式のアナウンスを見る。

👉 NICTERの投稿に関する重要なお知らせ(5/23更新) | バッファロー hatena-bookmark

調査中の雰囲気ですが、

「外部から管理画面にアクセスしてパスワードを突破されて何かを仕込まれる。」

ということですよね。

対処法としては、

- 外部からのアクセス機能をOFFにする。
- パスワードをややこしいものにする。
- ファームウェアを最新のものにする。

ということのようです。

「初期化」という言葉が話をややこしくしていますが、

どちらにしても、ルーターの設定を触る必要がありますね。

 

🛜 ルーターの管理画面

パソコンやスマホに公式設定アプリを入れて操作するのが簡単ですのでおすすめです。

👉 ソフトウェア | バッファロー hatena-bookmark

しかし、いちいちアプリを入れたくないですよね !

今どきの個人向けルーターは、

ほぼブラウザでアクセスできる管理画面を持っています。

そして、それぞれのOS上で動く設定アプリ内でも

そのネットワーク上に存在しているルーターの

ホスト名やIPアドレスを検出しているはずです。

ブラウザからIPアドレス直打ちで管理画面開きたいですよね!

 

🛜 IPアドレスを見つける

「arp-scan」を使います。


❯ brew install arp-scan


👉 royhills/arp-scan: The ARP Scanner hatena-bookmark

root 必要です。


❯ sudo arp-scan -l
Interface: en0, type: EN10MB, MAC: 63:7e:67:a2:cd:1f, IPv4: 192.168.151.16
Starting arp-scan 1.10.0 with 512 hosts (https://github.com/royhills/arp-scan)
192.168.151.11	84:a3:ec:9c:16:08	BUFFALO.INC
192.168.151.14	f8:3f:c2:31:d2:ee	Apple, Inc.

「BUFFALO」ありましたので、

まずは、コンソールからアクセスします。


❯ curl 192.168.151.11
<html>
<head>

<title>Redirect Page</title>
<meta http-equiv="expires" content="-1">
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<SCRIPT language=JavaScript>
function init()
{
	top.location.replace("../login.html");
}
</SCRIPT>
</head>
<body onload='init();'>
<table><tr><td></td></tr></table>
</body>
</html>

❯ curl 192.168.151.11:443
curl: (7) Failed to connect to 192.168.151.11 port 443 after 16 ms: Couldn't connect to server

❯ curl 192.168.151.11:80
<html>
<head>

<title>Redirect Page</title>
<meta http-equiv="expires" content="-1">
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<SCRIPT language=JavaScript>
function init()
{
	top.location.replace("../login.html");
}
</SCRIPT>
</head>
<body onload='init();'>
<table><tr><td></td></tr></table>
</body>
</html>

80 のみなので http のみです。

ブラウザから見ると login.html にリダイレクトされます。

あとは、ログインして公式アナウンスの推奨する対応策をやれば OK。

 

🛜 参考



【Mac】絵文字 や GitHubショートコード は「GitHub Emoji Picker」で入力する 😀

 

😀 Mac内蔵 絵文字ビューア

普通に絵文字を入力する場合は以下でいけます。


- Control+Command+スペースバー を押します。

👉 Macで絵文字と記号を使用する - Apple サポート (日本) hatena-bookmark

 

【Mac】GitHub 絵文字ショートコードは「GitHub Emoji Picker」で 😀

絵文字ビューアが開いたら好きな絵文字をダブルクリックすると入力できますね。
【Mac】GitHub 絵文字ショートコードは「GitHub Emoji Picker」で 😀

しかし、この方法で入力しているのはショートコードではありません。生絵文字です。

 

😀 GitHub ショートコード

Unicode 絵文字のうち、頻繁に使うであろう絵文字を厳選したものの中から、「GitHub ショートコード」をクリックでクリップボードにコピーできます。

GitHub Emoji Picker
👉 GitHub Emoji picker hatena-bookmark

WEBサイトですので Chrome や Safari などブラウザアクセスできます。

ショートコードでなく、生の絵文字をコピーしたい場合は、「Shift を押しながらクリック」します。

Unicode 絵文字のうち、頻繁に使うであろう絵文字を厳選したものの中から、「GitHub ショートコード」をクリップボードにコピーできます。

ということで、このサイトでは、ショートコード と 生絵文字 の両方を入力できます。

ただし、先程も言ったように、すべての絵文字ではなく「厳選された絵文字」のみです。

 

😀 Dock に入れておく

便利なよく使うツール系WEBサイトは、アプリのように Dock に入れておくと便利です。

【Mac】GitHub 絵文字ショートコードは「GitHub Emoji Picker」で 😀

「GitHub Emoji picker」をブラウザで開いた状態から、
ブラウザのURLバー内の「open this link, choose an app」→ 「Open」して、

【Mac】絵文字 や GitHubショートコード は「GitHub Emoji Picker」で入力する 😀

Dock 内に表示されたら、「Keep in Dock」で Dock 内に保存する。

【Mac】絵文字 や GitHubショートコード は「GitHub Emoji Picker」で入力する 😀

これで、Dock からアプリのようにサイトを表示して使用できます。

表示サイズは、ブラウザと同様の操作で変更しておけば記憶され、起動時にそのサイズで起動表示されるようになります。

 

😀 まとめ

ショートコードは、サービスやアプリケーションで異なるのが面倒っちゃあ面倒です。

生絵文字を貼っても、実質、サービス側で変換されるようなので、Mac内蔵の絵文字ビューアでもいいような気もしますが、「厳選された絵文字」なので不必要に絵文字選択を悩むことがない、のがいいように思えたりもします。

👉 【Kotlin】絵文字を含む Unicode 文字列の文字数をカウントする方法と文字ごとの構成要素 hatena-bookmark
👉 絵文字が意図しない白黒で表示される ➡️ - Unicode Variation Selector hatena-bookmark