画像埋め込みタグの工夫
うちのブログで写真以外の画像は、今は全部pCloudに置いて埋め込んでいます。
pCloudは、生涯プレミアムアカウントを持っているとはいえ、サービスがいつまで続いてくれるかわからないので、また引っ越しすることもあるかもしれません。
前回Gyazoから引っ越したときは、過去の分も含めてブログ中の埋め込みタグを全部手で書き直したんですが、もうそんな手間はかけたくない。
- 日記さん CloudflareではできてPorkbunではできないこととその反対
- Create a redirect rule in the dashboard · Cloudflare Rules docs
ということで、タグには独自ドメイン(nikki-san.com)のホスト名を使って埋め込んで、Cloudflare RulesでpCloudのURLにリダイレクトするようなしくみにしました。
これだと、将来画像置き場を変えた場合でも、ブログの各エントリには手を加えずCloudflare側で1か所リダイレクト先を切り替えればいいだけになります。
Quad9ショック
ところで。
一般の人が自由に使える有名どころのDNSリゾルバとしては、Googleの8.8.8.8とかCloudflareの1.1.1.1とかがあるけれど、
今年の春ごろからうちではQuad9(9.9.9.9)をメインで使うようになりました。
ログを記録しない(と言っている)のでプライバシー的にちょっと安心やし、通信の暗号化(DNS over HTTPS)にも対応しているし、うちで数日統計を取ったところ応答がGoogleやCloudflareより速かったので。
ということでいいことづくめだと思っていたんですが、7月初旬にちょっとこまったことが。
9.9.9.9でpCloudの公開用ドメイン(filedn.eu)の名前解決ができなくなってしまいました。つまり、自分の家で見るとブログに埋め込んだ画像が表示されない。
9.9.9.9にはセキュリティ機能がついていて、マルウェア配布サイトとかフィッシングサイトの名前解決ができないようになっているんですが、誰かがpCloudを使って悪いことをしたからか、ブラックリストに載ってしまったみたいなんです。
しかたがないので、セキュリティ機能のない9.9.9.10を使うことでいったん回避していました。
本解決策?
自分は9.9.9.10を使っているからいいものの、依然9.9.9.9を使ってる人には表示されないわけです。そしてQuad9以外でもセキュリティにひっかかるケースもあるかもしれない。
- 日記さん CloudflareのEmail Workersで正規表現許可リストを使って複数宛先に受信メールを転送する
- Cloudflare Workers | サーバーレスアプリケーションを構築 | Cloudflare
ということで、メール転送でも使ったCloudflare Workersを使って解決させることに。
これまでのように埋め込みタグ中の独自ドメイン(nikki-san.com)からpCloudにリダイレクトするのではなく、独自ドメインそのままでpCloudにある画像を持ってくるCloudflare WorkersスクリプトをClaudeに書いてもらいました。Cloudflareをリバースプロキシとして使うみたいなイメージかな?
これで、閲覧者から見るとpCloudのドメインが完全に隠蔽されることになったので、ブラックリストの影響を受けなくなりました。
Cloudflare Workersは、1日10万回まで呼び出しが無料で、それ以上は動かないという制約はあるみたいやけれど。
ちなみにこれで9.9.9.9でも表示できるようになるかテストしてみたんですが、いつの間にかブラックリスト指定が解除されていたみたいで、何もしなくても表示できるようになっていました。

コメント