お久しぶりです。新年が始まってから卒業設計と新しい仕事のインターンシップを探すのに忙しく、いくつかの試行錯誤をブログに記録する時間がありませんでした。最近、卒業設計を書いている間に、ブログを最適化し、ついでに記事を書いて記録しました。
過去のデプロイでは、ブログは常に複数のノードでデプロイされ、dnspod の地域別解析を使用してトラフィックを調整し、ブログのアクセス速度をできるだけ高速化するようにしていました。複数のノード間でのブログファイルの同期は、最初は定期的なタスクで GitHub から更新していましたが、後に syncthing を使用して同期するように変更しました。この方法は少し愚かに見えるかもしれませんが、これにより私のブログはこれまでの 2 年間、スムーズにアクセスできるようになりました。
最近、sukka さんのブログを読んでいると、cloudflare worker を使用して kv ストレージと連携して静的ウェブサイトをデプロイできることがわかりました。そこで、自己ホストの画像サービス(画像を保存している HTTP サービス)を cloudflare にデプロイし、速度と遅延のテストも非常に良好であったため、ブログのすべてを完全に cloudflare に移行することを考えました。
これにより、私のブログは私が積極的に手を加えない限り、非常に高い信頼性と比較的良好な応答速度を確保できます。
404 ページの問題#
worker-site/index.js
ファイルには、URL からファイルを取得できない場合に/404.html
を返すロジックがあります。しかし、デプロイしてみると問題があることに気付きました。この 404 ページは、ブラウザに表示される代わりにソースコードが直接表示されます。
F12 キーを押してネットワークのレスポンスを確認すると、返されたデータには指定されたレスポンスデータ形式のヘッダーが欠けていることがわかりました。
この問題を修正するには、レスポンスを返す際に適切なヘッダーを追加するだけで修正できます。コードの修正については、私が提案した PRを参照してください。