0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

シンフリーサーバとCloudFlareを共存させたい/CloudFlare526エラーをOrigin CA証明書なしでなんとかする

Posted at

記事内容

今回は
「CloudFlareの526エラーを修正したい」
「シンフリーサーバーでCloudFlareを使いたい」
「シンフリーサーバーで"無料独自SSL"を更新できない場合」
「サーバーのダウン通知を受け取りたい」
の4点を解説します。

CloudFlareの526エラーを修正したい

サイトにアクセスしたときにたまにあるこのエラー
526-a.png
CloudFlareとサーバーの通信がうまくいっていないエラーです。

  • サーバーは電源が入っているか(pingでIPアドレス入れてなんか帰ってくる?)
  • ドメインは割り当てられているか
  • SSLは期限を過ぎていないか

を確認してください。

修理方法は後述。

シンフリーサーバーでCloudFlareを使いたい

シンフリーサーバー(旧:Xfree)は無料で使えちゃう便利なサーバーです。
ほかのレンタルサーバ(または自作)から移行しないと申し込めないのですが、GithubPagesを使えば突破できます。

さて、シンフリーサーバーは正式にはCloudFlareをサポートしていませんが、実は普通に行けちゃいます。

CloudFlareのアカウント作って、DNSをうんぬんしたら接続完了!

とはいえ、そういうことをするとシンフリーサーバーの"無料独自SSL"が更新できなくて526エラーがやがて発生します。
今回はその事象の解決策を忘備録にするために、4本立ての記事なんです。

シンフリーサーバーで"無料独自SSL"を更新できない場合

シンフリーサーバー(とかほかにもいろいろ?)は独自にSSLを準備してくれるのですが、そういうのは大体CloudFlareを入れると自動更新に失敗します。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【シンフリーサーバー】■重要■ [無料独自SSL]SSLサーバー証明書
 (abellate.net) 更新未完了のお知らせ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

シンアカウントID : hogehoge
メールアドレス   : hogehoge@gmail.com

平素は当サービスをご利用いただき誠にありがとうございます。
シン/wpX カスタマーサポートでございます。


サーバーID「hogehoge」で利用中の下記SSLサーバー証明書に関し、
当サポートで有効期限の延長をするための更新作業を行いましたが、
正常に完了することができませんでした。

────────────────────
■SSL更新情報

【SSLブランド】  : Let's Encrypt
【独自IPアドレス】: -
【サーバーID】  : hogehoge
【コモンネーム】 : www.abellate.net
【サイトURL】   : https://abellate.net/
【有効期限日】  : hogehoge年hoge月huga日
────────────────────

みたいなのがメールで来て、ほっとくと期限が切れて526エラーです。

これって、CloudflareにDNSを割り当てちゃったので発生した問題なので、一時的にCFを外して手動で更新すれば治ります。


まずCloudFlareに入って、開発モードを有効にします。
これによりキャッシュを考えなくてよくなります。
スクリーンショット 2025-05-02 225139.png

DNS\DNSレコード のページを開き、オレンジの雲がある「プロキシ済み」のやつ(今回は3つ)を編集し、一時的にプロキシを無効化します。
スクリーンショット 2025-05-02 225200.png

プロキシステータスのトグルを無効にして、一時的にCloudFlareを無効にします。
レコード消してもいいですけど、消した場合あとでめんどくさくなります。
スクリーンショット 2025-05-02 225211.png

あとはレンタルサーバーの指示に従って証明書を更新しましょう。
エラーが出た場合数分待つといいです。
スクリーンショット 2025-05-02 210726.png

発行されたら、

  • サイトにアクセスできることを確認して
  • シークレットモードのChrome(キャッシュがない)でアクセスできることを確認して
  • 友達 or curlに頼んで別環境でもアクセスできることを確認して

から、CloudFlareの設定を戻しましょう。

開発モードは数日で自動で外れるので無視していいですが、DNS(トグルのほう)は戻さないとCloudFlareのご加護がないままです。

サーバーのダウン通知を受け取りたい

リアルタイム通知は私にはできませんが、ダウンしたのをPCログイン時に知るのはできます。

具体的には、実際にアクセスしてみてHTTPステータスで確認します。

サンプルコードはPythonと.batで用意しました。
"shell:startup" フォルダに投げ込めばPCが起動するごとに確認できますよ。
(Pythonスクリプトはそのまま入れてもダメなので、.batからstartしてください。)

Python版

  • 3.13で確認
  • requestsを使用します。ない場合pipしてください
  • 問題ない場合は何も残さず終了します
  • エラーがあった場合は集計後にWindowsのダイアログでエラーなURLのリストを表示します
import requests
import ctypes
import sys

URLS = [
#検証対象を入れる
    "https://abellate.net",
    "https://anepad.abellate.net",
    "https://abatbeliever.net",
    "https://hspland.net",
    "https://gangangansoku.jp"
]

errors = []

for url in URLS:
    try:
        response = requests.get(url, timeout=10)
        if response.status_code != 200:
            errors.append(f" {url} → HTTP {response.status_code}")
    except requests.exceptions.SSLError:
        errors.append(f"[FAIL] {url} → SSLエラー\n")
    except requests.exceptions.RequestException as e:
        errors.append(f"[FAIL] {url} → 接続失敗\n")

if errors:
    msg = "\n".join(errors)
    ctypes.windll.user32.MessageBoxW(0, msg, "One or more URLs are dead", 0x30)
    # 0x30 = MB_ICONWARNING
    sys.exit(1)
else:
    sys.exit(0)
start /min python.exe C:\~~~hogehoge.py

.bat版

  • Windows11で確認。
  • curlを使用します。ない場合curlをダウンロードしてSystem32に投げてください
  • 問題ない場合は終わり次第終了します(callした場合セッションは残ります)
  • 問題ある場合、エラーのURLを列挙しpause>nulで停止します。なんかキー押すと閉じちゃうので注意!
@echo off
setlocal enabledelayedexpansion

rem 下記にURLを空白区切りで入力。このコメントアウトは実行時に消すかANSIにしてね
set URLS=https://abellate.net https://anepad.abellate.net https://abatbeliever.net https://hspland.net https://gangangansoku.jp
set ERROR=0

echo WebSite Check

for %%U in (%URLS%) do (
    curl -s -I %%U >nul
    if errorlevel 1 (
        echo [FAIL]: %%U
        set ERROR=1
    ) else (
        echo [PASS]: %%U
    )
)

if "!ERROR!"=="1" (
    echo.
    echo One or more URLs are dead
    pause >nul
) else (
    echo.
    echo System All Green
    exit /b 0
)

さて、

setlocal enabledelayedexpansion

は魔境なので使いたくないけど、なんか動いてるのでいいでしょう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?