memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

Cloudflareのページが学内から見れない件のその後

昨晩、帰ってからも2時くらいまでごにょごにょやっていました。

Cloudflareに作成した講義ページに学内からアクセスできなくなったorz - memorandums

ネットプロトコルの状況を簡易的に取得するコマンドを知りました。これは便利ですね。。。知らずにきました。お恥ずかしい。

curl -v

これで調べると、以下のようなログが表示されていました。TLSのバージョンが不一致なのかと思いました。Cloudflareでビルドエラーが出るのでインスタンスをv1を選択していたことが悪さしているのかと思いました。で、昨晩あれこれやっていたのはv2インスタンスでビルドを通すようにやっていたことでした。

$ curl -v https://xxx.pages.dev/
*   Trying xxx.xxx.xxx.xxx...
* TCP_NODELAY set
* Connected to xxx.pages.dev (xxx.xxx.xxx.xxx) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/cert.pem
  CApath: none
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to xxx.pages.dev:443 
* Closing connection 0
curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to xxx.pages.dev:443 

結果的に、ruby 2.7.8にして、Gemfileを以下のような感じにしました。

gem "github-pages"

.ruby-versionをトップディレクトリに作成して2.7.8といれました。一応、Cloudflare側の環境変数に「RUBY_VERSION 2.7.8」をセットしました。しなくても.ruby-versionから読み取るようですが。あと、ビルドエラーがなくせたのは、Cloudflare側にセットしたビルドコマンドをjekyll buildからbundle exec jekyll buildに変更したところでした。まぁ、これだけでうまくいくようですが、ビルドキャッシュが残るのかよくわかりませんがうまく行ったり行かなかったりでした。こういうエンジニアリングってほんと辛いですね。。。今どきのエンジニアは凄い。

何とか通るようになったのですが、やはり学内からこのページにはアクセスできませんでした。

昨日、作業はじめたときから感覚的に、Cloudflare側か学内のFWにブロックされている、と感じていました。じゃ、別のURLならドメインがpage.devでもブロックされないのでは?と思い、新しいリポジトリを作成してCloudflare Pagesに登録しました。どうでもいいですが、今回の作業で知ったwranglerっていうやつを使って登録してみようと思いました。うまく行った手順を書いておきます。もちろん自分用のメモです。

(1)Githubに新しいリポジトリを作成して、簡単なHTMLファイルを作成してその中に入れておきます。適当といわれると困ると思いますので以下おいておきます。どっかのページにありました。保存してgit pushしておきます。

<html>
<head>
<title>Hello World from Pages</title>
</head>
<body>
<h1>Hello World from Pages</h1>
</body>
</html>

(2)あとは、ローカルリポジトリ内で以下のコマンドを実行していきます。こちらの手順はこちらを参考にしました。wranglerが未インストールの場合は「npm install wrangler --save-dev」を実行しておきます。

npx wrangler login
npx wrangler pages project create #プロジェクト名とブランチ名を聞かれるので答えます
npx wrangler pages deploy . #これでCloudflareにデプロイされますので、少し時間をおいて表示されるURLにアクセスするとページが見れるはずです

Cloudflare PagesのUIで同様のことができますが、CLIでできるのはいいですね。細かい設定はあとでUIでやればいいのかな?

昨晩、詳しい先生に調査を依頼していた返信がありまして、結局、僕の講義サイトが学内のFWで「フィッシングサイト判定」になってブロックされていたそうです。。。やはり。

IT屋の仕事ってこういうの多いですね。。。デジタルだと一見1+1=2になって物理世界を扱うより楽に見えるかもしれませんが、見えないものを扱っているゆえの難しさがありますね。でも、こういうトラブルもネットに何か情報があればトラシューの時間が短くできます。そういう情報を発信することでLLMが学習するでしょう。やはり、個人が発見したことを発信していくことって大事だと思うんです。集合知です。

どんどん発信していきましょう!