「404 Not Found openresty」というエラーメッセージが表示されて、サイトにアクセスできない…
「開発モードにするとアクセスできるのに、通常モードだとエラーが出る…」
「このエラーは何?どうすれば解決できるの?」
Webサイトにアクセスしようとしたら、「404 Not Found」と表示され、その下に「openresty」という文字が表示されて困っている方は多いのではないでしょうか。
特に、Cloudflareを使用しているサイトで、このエラーが頻繁に発生しています。
この記事では、「404 Not Found openresty」エラーの原因と、具体的な解決方法を詳しく解説します。
サイト運営者向けの対処法と、一般ユーザー向けの対処法の両方を説明していきます。
OpenRestyとは?
まず、エラーメッセージに表示される「openresty」が何なのかを理解しましょう。
OpenResty(オープンレスティ)は、NginxコアにLuaJIT(スクリプト言語LuaのJust in Time Compiler)と多くのLuaライブラリ、Nginxモジュールを統合したオープンソースのWebアプリケーションサーバーです。
OpenRestyの特徴
高性能Webプラットフォーム
OpenRestyは、Nginxをベースにしているため、非常に高速で軽量です。
1台のサーバーで10,000~1,000,000以上の同時接続を処理できる能力を持っています。
動的コンテンツ生成
Luaスクリプトを使用して、動的なWebアプリケーション、APIゲートウェイ、Webサービスを構築できます。
Nginx単体では難しい複雑な処理も、OpenRestyなら簡単に実現できます。
主な用途
- CDN(コンテンツ配信ネットワーク)
- APIゲートウェイ(KongなどはOpenRestyベース)
- リバースプロキシ
- Webアプリケーションファイアウォール(WAF)
- 動的Webサイト・Webサービス
なぜCloudflareでOpenRestyが表示されるのか
Cloudflareは、以前OpenRestyを使用していた時期があり、現在でもエッジサーバーの一部でOpenRestyが動作しています。
そのため、Cloudflareを経由したアクセスで404エラーが発生すると、「404 Not Found openresty」と表示されることがあります。
「404 Not Found openresty」エラーが表示される原因
このエラーが表示される原因は、主に以下の7つです。
原因1: Cloudflareのキャッシュ問題
最も多い原因は、Cloudflareのキャッシュに古いデータや誤ったデータが保存されていることです。
具体的な状況:
- サイトを更新したのに、古いページが表示される
- 削除したページにアクセスできてしまう
- 開発モードではアクセスできるのに、通常モードではエラーが出る
原因2: Imunify360との競合
Imunify360は、Webホスティングサーバー用のセキュリティソフトウェアです。
このソフトウェアが悪意のある活動を検知すると、リダイレクトページを送信し、それがCloudflareにキャッシュされてしまうことがあります。
問題の流れ:
- Imunify360が悪意のある活動を検知
- Imunify360が200ステータスコードでインタースティシャルページ(確認ページ)を送信
- そのページにJavaScriptリダイレクトが含まれており、特殊なパス(例:
/z0f76a1d14fd21a8fb5fd0d03e0fdc3d3cedae52fwsidchk=686...)にリダイレクト - そのパスはサーバーに存在しないため404エラー
- Cloudflareが「Cache Everything」+「Edge Cache TTL」設定により、この404ページをキャッシュ
- 以降、正常なユーザーもこの404ページを見ることになる
原因3: Cloudflareのページルール設定ミス
Cloudflareのページルール設定が誤っていると、特定のURIがアップストリームサーバー(オリジンサーバー)に転送されず、404エラーが返されることがあります。
よくある設定ミス:
- ページルールで「後続のルールをスキップ」が設定されている
- URIがどのページルールにも一致しない
- プロキシ設定が正しくない
原因4: リバースプロキシの設定問題
OpenRestyをリバースプロキシとして使用している場合、設定ミスにより404エラーが発生することがあります。
よくある問題:
- HTTPS upstream serverへのproxy_pass設定が正しくない
- Hostヘッダーの設定ミス
- SSL/TLS設定の問題
- リゾルバー(DNS)の設定ミス
原因5: 特殊文字を含むURL・ファイル名
SCORMコンテンツやファイルのタイトルに特殊文字が含まれている場合、404エラーが発生することがあります。
問題になる特殊文字:
- スペース
- 日本語などのマルチバイト文字
- 特殊記号(&、#、%など)
この問題は、SAP Learning HubやFortniteのV-Bucksカード引き換えなどで報告されています。
原因6: URLのスペルミス・リンク切れ
最も基本的な原因ですが、見落としがちです。
確認すべきこと:
- URLのスペルが正しいか
- ページが削除されていないか
- ページが移動されていないか
- リンクが古くなっていないか
原因7: アクセス権限の問題
ページやリソースへのアクセス権限がない場合も、404エラーが表示されることがあります。
よくあるケース:
- プライベートリポジトリへのアクセス
- 認証が必要なページ
- IPアドレス制限がかかっているページ
【サイト運営者向け】解決方法
サイトを運営している方は、以下の方法でエラーを解決できます。
【方法1】Cloudflareのキャッシュをクリア(最も効果的)
Cloudflareのキャッシュが原因の場合、キャッシュをクリアすることで解決します。
手順
- Cloudflareダッシュボードにログイン
- 対象のドメインを選択
- 左側メニューから「キャッシング」(Caching)を選択
- 「キャッシュのパージ」(Purge Cache)セクションを探す
- 「すべてをパージ」(Purge Everything)をクリック
- 確認ダイアログで「パージ」をクリック
- 5分程度待ってから、サイトにアクセスして確認
注意点
キャッシュをパージすると、サイトのパフォーマンスが一時的に低下する可能性があります。
トラフィックの少ない時間帯に実施することをお勧めします。
【方法2】Development Mode(開発モード)を有効化
開発モードを有効にすると、Cloudflareがキャッシュをバイパスします。
これにより、問題がキャッシュに起因するかどうかを確認できます。
手順
- Cloudflareダッシュボードにログイン
- 対象のドメインを選択
- 左側メニューから「キャッシング」を選択
- ページ上部の「Development Mode」のトグルをONにする
- サイトにアクセスして、エラーが解消されるか確認
開発モードは3時間後に自動的にOFFになります。
開発モードでエラーが消える場合
問題はCloudflareのキャッシュにあります。
キャッシュをクリアし、ページルール設定を見直してください。
開発モードでもエラーが出る場合
問題はオリジンサーバーにあります。
サーバーのログを確認し、ページやファイルの存在を確認してください。
【方法3】Cloudflareを一時停止
Cloudflareを一時的に停止することで、問題の切り分けができます。
手順
- Cloudflareダッシュボードにログイン
- 対象のドメインを選択
- 「概要」(Overview)タブを選択
- ページ右下の「Pause Cloudflare on Site」をクリック
- 確認ダイアログで「確認」をクリック
- 5分程度待ってから、サイトにアクセスして確認
Cloudflare停止でエラーが消える場合
問題はCloudflareの設定にあります。
キャッシュ設定、ページルール、セキュリティ設定を見直してください。
Cloudflare停止でもエラーが出る場合
問題はオリジンサーバーにあります。
サーバー管理者に連絡してください。
【方法4】ページルール設定の見直し
Cloudflareのページルール設定が誤っている場合、修正が必要です。
確認すべき設定
「Cache Everything」+「Edge Cache TTL」の組み合わせを避ける
この組み合わせは、Imunify360のリダイレクトをキャッシュしてしまう可能性があります。
可能であれば、「Cache Everything」を使用せず、オリジンサーバーのキャッシュヘッダーを尊重する設定にしてください。
ページルールの優先順位を確認
ページルールは上から順に評価されます。
意図しないルールが先に適用されていないか確認してください。
「後続のルールをスキップ」の使用を見直す
この設定により、重要なルールがスキップされている可能性があります。
手順
- Cloudflareダッシュボードにログイン
- 対象のドメインを選択
- 左側メニューから「ルール」(Rules)→「ページルール」(Page Rules)を選択
- 各ルールの設定を確認・修正
- 変更を保存
【方法5】Imunify360の設定確認(共用サーバーユーザー)
共用サーバーを使用している場合、ホスティング会社に連絡してImunify360の設定を確認してもらってください。
ホスティング会社に伝えるべき情報:
- エラーが発生する具体的なURL
- エラーが発生するタイミング
/z...wsidchk=...のようなURLにリダイレクトされること- Cloudflareのキャッシュクリア後も問題が再発すること
【方法6】OpenRestyのリバースプロキシ設定確認
OpenRestyをリバースプロキシとして使用している場合、設定を確認してください。
確認すべき設定
HTTPS upstream serverへのproxy_pass
location /api {
resolver 8.8.8.8;
proxy_pass https://backend-server.com;
proxy_ssl_server_name on;
proxy_ssl_protocols TLSv1.2 TLSv1.3;
proxy_set_header Host $proxy_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
重要なポイント:
proxy_ssl_server_name on;を設定(SNI対応)proxy_set_header Hostを適切に設定resolverでDNSリゾルバーを指定
【方法7】特殊文字を含むファイル名の修正
SCORMコンテンツやファイルのタイトルに特殊文字が含まれている場合、ファイル名を修正してください。
推奨されるファイル名:
- 英数字とハイフン、アンダースコアのみ使用
- スペースは使用しない(または
-や_に置き換え) - 日本語などのマルチバイト文字は使用しない
- 特殊記号は使用しない
修正例:
- 修正前:
第1章 導入編 (2024年版).pdf - 修正後:
chapter-01-introduction-2024.pdf
【方法8】サーバーログの確認
オリジンサーバーのログを確認することで、問題の詳細が分かります。
確認すべきログ:
- アクセスログ(access.log)
- エラーログ(error.log)
- OpenRestyのログ(
/usr/local/openresty/nginx/logs/)
ログで確認すべきこと:
- 404エラーが発生しているURL
- リクエストヘッダー
- リファラー(どこからアクセスされたか)
- ユーザーエージェント
【一般ユーザー向け】解決方法
サイトを訪問しているだけの一般ユーザーは、以下の方法を試してください。
【方法1】ブラウザのキャッシュとCookieをクリア
ブラウザのキャッシュが原因の場合があります。
Google Chrome
- 画面右上の「︙」(三点リーダー)をクリック
- 「履歴」→「履歴」を選択(またはCtrl+H)
- 左側メニューから「閲覧履歴データの削除」をクリック
- 「期間」を「全期間」に設定
- 「Cookieと他のサイトデータ」と「キャッシュされた画像とファイル」にチェック
- 「データを削除」をクリック
【方法2】別のブラウザで試す
使用しているブラウザに問題がある可能性があります。
試すべきブラウザ:
- Google Chrome
- Mozilla Firefox
- Microsoft Edge
- Safari(Mac)
【方法3】別のデバイスで試す
特定のデバイスや環境に問題がある可能性があります。
試すべきデバイス:
- スマートフォン
- タブレット
- 別のPC
- 職場/自宅のPC(環境を変える)
特にモバイルデバイスで発生する場合:
Fortnite V-Bucksカードの引き換えなど、一部のサービスではモバイルデバイスで404エラーが発生しやすいことが報告されています。
PCやタブレットで試してください。
【方法4】URLを確認
URLが正しいか確認してください。
確認すべきポイント:
- スペルミスがないか
- 大文字・小文字が正しいか(URLは大文字・小文字を区別することがある)
- URLが古くないか(ブックマークが古い可能性)
【方法5】時間をおいて再度アクセス
一時的なサーバー障害やメンテナンスの可能性があります。
数時間後に再度アクセスしてみてください。
【方法6】サイト管理者に連絡
上記の方法で解決しない場合、サイト管理者に連絡してください。
連絡時に伝えるべき情報:
- アクセスしようとしたURL
- エラーメッセージの全文(スクリーンショットがベスト)
- エラーが発生した日時
- 使用しているブラウザとOS
- 試した解決方法
よくある質問
Q1: 「404 Not Found openresty」と「404 Not Found nginx」の違いは?
どちらもWebサーバーから返される404エラーですが、表示される名前が異なるだけです。
OpenRestyはNginxベースなので、基本的な原因と対処法は同じです。
Q2: Cloudflareを使っていないのに「openresty」と表示されます
あなたのサイトがCloudflareを使用していなくても、アクセスしようとしているサイトがCloudflareを使用している場合、このエラーが表示されます。
サイト管理者に連絡してください。
Q3: キャッシュをクリアしてもすぐにエラーが再発します
Imunify360とCloudflareの競合が原因の可能性が高いです。
ホスティング会社に連絡して、Imunify360の設定を確認してもらってください。
また、Cloudflareのページルールで「Cache Everything」+「Edge Cache TTL」の組み合わせを避けてください。
Q4: 開発モードでは正常に表示されるのに、通常モードでエラーが出ます
この症状は、Cloudflareのキャッシュ問題を明確に示しています。
以下の手順で解決してください。
- Cloudflareのキャッシュをクリア
- ページルール設定を見直す
- 「Cache Everything」の使用を見直す
Q5: 特定のページだけエラーが出ます
そのページのURL、ファイル名、コンテンツに問題がある可能性があります。
確認すべきこと:
- URLに特殊文字が含まれていないか
- ファイルが実際に存在するか
- ファイルのアクセス権限が正しいか
- ページルールがそのURLにのみ適用されていないか
Q6: /z...wsidchk=...のようなURLにリダイレクトされます
これはImunify360が生成したセキュリティチェックURLです。
Cloudflareがこのリダイレクトをキャッシュしてしまっている状態です。
解決方法:
- Cloudflareのキャッシュをクリア
- ページルールの「Cache Everything」+「Edge Cache TTL」を無効化
- ホスティング会社にImunify360の設定を確認してもらう
Q7: SAP Learning HubやFortniteで「404 Not Found openresty」が出ます
これらのサービスでは、コンテンツタイトルに特殊文字が含まれていることが原因で404エラーが発生することが報告されています。
対処法:
- PCやタブレットでアクセスする(モバイルデバイスで発生しやすい)
- 別のブラウザで試す
- サービス提供者に連絡する
まとめ
「404 Not Found openresty」エラーは、主にCloudflareのキャッシュ問題やImunify360との競合が原因で発生します。
サイト運営者の解決手順:
- Cloudflareのキャッシュをクリア
- Development Modeで問題を切り分け
- ページルール設定を見直し(特に「Cache Everything」+「Edge Cache TTL」)
- Imunify360の設定をホスティング会社に確認
- OpenRestyのリバースプロキシ設定を確認
- 特殊文字を含むファイル名を修正
一般ユーザーの解決手順:
- ブラウザのキャッシュとCookieをクリア
- 別のブラウザやデバイスで試す
- URLを確認
- 時間をおいて再度アクセス
- サイト管理者に連絡
最も効果的な解決方法は、Cloudflareのキャッシュをクリアすることです。
それでも解決しない場合は、ページルール設定やImunify360との競合を確認してください。
Cloudflareとセキュリティソフトウェアの組み合わせは便利ですが、設定を誤るとこのようなエラーが発生することがあります。
定期的に設定を見直し、キャッシュポリシーを適切に管理することが重要です。
最終更新日:2026年2月16日

コメント