すべてのプロダクト
Search
ドキュメントセンター

:ECS インスタンス上のアクセスできない Web サイトのトラブルシューティング

最終更新日:Jun 17, 2026

このトピックでは、Elastic Compute Service (ECS) インスタンスで実行中の、アクセスできない Web サイトのトラブルシューティング方法について説明します。

症状

ECS インスタンスで実行中の Web サイトにアクセスしようとすると、次の問題が発生する場合があります。

  • 「No ICP filing or not connected」または「The website content does not match the ICP filing information」などのメッセージが表示される。

  • ブラウザーが 403、404、502、503 などの HTTP ステータスコードを返す。

  • 新しく作成した Web サイトにアクセスできない。

  • 正常に実行されていた Web サイトに突然アクセスできなくなる。

  • Server Load Balancer (SLB) インスタンス経由で ECS インスタンス上の Web サイトにアクセスできない。

  • Alibaba Cloud CDN で高速化された Web サイトにアクセスできない。

  • Web Application Firewall (WAF) で保護されている Web サイトにアクセスできない。

原因

ECS インスタンス上の Web サイトにアクセスできなくなる原因は多数あります。このセクションでは、一般的な原因を一覧で示します。実際の原因は、トラブルシューティングの結果によって異なります。

  • TCP ポート 80 が利用できない。

  • Web サービスが利用できない。

  • Web サイトに ICP 登録がない。

  • Web サイトのリソースまたはバックエンドサービスの問題。

  • Web サイトが標準的な手順に従って構築されていない。

  • オリジンサーバーの問題。

説明

Web サイトのアクセスに関する問題には多くの原因が考えられます。詳細については、「ECS インスタンスのアクセス例外に関するトラブルシューティングとガイドライン」をご参照ください。

トラブルシューティング

トラブルシューティングを行うには、次のいずれかの方法を選択してください。

フローチャートによるトラブルシューティング

フローチャートの手順に従って、問題のトラブルシューティングを行うことができます。

20230119184601

症状別の解決策

以下にリストされている各症状の解決策を参照してください。

  • メッセージ:「No ICP filing or not connected」または「The website content does not match the ICP filing information」

    Web サイトの IP アドレスまたはドメイン名の ICP 登録を取得するまで、Web サイトへのアクセスは有効になりません。詳細については、「一般的な ICP 登録」をご参照ください。

  • ブラウザーが 403、404、502、503 などの HTTP ステータスコードを返す。

    ブラウザーがステータスコードを返す場合、通常はクライアントとサーバー間のネットワーク接続は安定していることを示しますが、Web サイトのリソースまたはバックエンドサービスに問題があることを示します。

  • 新しく作成した Web サイトにアクセスできない。

    標準的な手順に従って Web サイトを構築してください。Web サイトの構築手順の詳細については、「Web サイト構築のクイックスタート」をご参照ください。

  • 正常に実行されていた Web サイトに突然アクセスできなくなる。

    Web サービスとバックエンドデータベースが実行されていることを確認してください。サービスが実行されていない場合は、ログでエラーメッセージを確認し、それに基づいて問題を修正してください。

    説明
    • Web サービスのログファイルは、通常 access.log または error.log という名前です。詳細については、お使いの Web サービスの公式サイトにアクセスしてください。

    • PHP、Java、Tomcat、データベースなどのバックエンドサービスの問題が原因で、Web サイトにアクセスできなくなる場合もあります。この場合は、Web サイトの管理者にお問い合わせください。

  • SLB インスタンス経由で ECS インスタンス上の Web サイトにアクセスできない

    ECS インスタンスで SLB インスタンスを使用している場合、問題は SLB インスタンスのリスナー設定が正しくないことが原因の可能性があります。詳細については、「SLB インスタンスを使用して ECS インスタンス上の Web サイトにアクセスできない」をご参照ください。

  • Alibaba Cloud CDN で高速化した後に Web サイトにアクセスできない

    まず、問題がオリジンサーバーにあるかどうかを判断してください。詳細については、「Alibaba Cloud CDN を有効にした後の Web サイトアクセス障害のトラブルシューティング」をご参照ください。

  • WAF で保護されている Web サイトにアクセスできない

    まず、問題がオリジンサーバーにあるかどうかを判断し、次に WAF がリクエストを誤ってブロックしたかどうかを確認してください。詳細については、「WAF によって保護されている Web サイトにアクセスできない」をご参照ください。

ソリューション

このセクションでは、TCP ポート 80 または Web サービスが利用できない場合に発生する問題の解決策について説明します。

Linux:ポート 80 と Web サービス

説明

以下の手順では、CentOS 7 インスタンスを例として使用します。操作はオペレーティングシステムによって異なる場合があります。

TCP ポート 80 が利用できない

  1. Linux インスタンスに接続します。

    詳細については、「接続方法」をご参照ください。

  2. 次のコマンドを実行して、サービスが TCP ポート 80 をリッスンしているかどうかを確認します。

    netstat -an | grep 80

    コマンドが次のいずれかの出力を返す場合、Web サービスが実行され、TCP ポート 80 でリッスンしています。異なる出力またはエラーが表示された場合は、「Web サービスが利用できない」セクションの手順に従ってください。

    tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN # すべてのネットワークインターフェイスでリッスン中
    tcp        0      0 127.0.0.1:80            0.0.0.0:*               LISTEN # ローカルホストでリッスン中
    説明

    127.0.0.1 でリッスンすると、Web サービスへの外部アクセスが妨げられます。すべてのネットワークインターフェイスでリッスンするように設定を変更する必要があります。

  3. TCP ポート 80 でのトラフィックが許可されており、接続が安定していることを確認します。

    1. インスタンスのセキュリティグループが TCP ポート 80 でのトラフィックを許可しているかどうかを確認します。許可されていない場合は、セキュリティグループルールを追加します。詳細については、「セキュリティグループルールの追加」をご参照ください。

    2. インスタンスのオペレーティングシステムのファイアウォールが有効になっているかどうかを確認します。有効になっている場合は、無効にして代わりにセキュリティグループを使用することを推奨します。詳細については、「Linux インスタンスのシステムファイアウォールの管理」をご参照ください。

    3. telnet および traceroute コマンドを使用して、TCP ポート 80 の接続をテストします。詳細については、「サーバーに ping できる場合のポート接続の問題のトラブルシューティング」をご参照ください。

  4. ECS インスタンスに十分な帯域幅があるかどうかを確認します。

    詳細については、「Linux インスタンスのシステム負荷のクエリと分析」をご参照ください。

    帯域幅が不足している場合は、インスタンスの帯域幅をアップグレードしてください。詳細については、「帯域幅設定の変更」をご参照ください。

Web サービスが利用できない

  1. Linux インスタンスに接続します。

    詳細については、「接続方法」をご参照ください。

  2. Web サービスのログを確認します。

    • 次のコマンドを実行して、Apache のエラーログを表示します。

      • CentOS または Alinux:

        less /var/log/httpd/error_log
      • Ubuntu:

        less /var/log/apache2/error.log
    • 次のコマンドを実行して、Nginx のエラーログを表示します。

      less /var/log/nginx/error_log
  3. top コマンドを実行して、インスタンスの実行ステータスを確認します。

    異常なプロセスがないか確認します。次のコードブロックは、コマンド出力のサンプルを示しています。

    top - 16:03:47 up 21:22,  2 users,  load average: 0.01, 0.02, 0.05
    Tasks: 101 total,   1 running, 100 sleeping,   0 stopped,   0 zombie
    %Cpu(s):  0.1 us,  0.2 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    KiB Mem :  7732780 total,  6633068 free,   208044 used,   891668 buff/cache
    KiB Swap:        0 total,        0 free,        0 used.  7276512 avail Mem
    
      PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
     1685 root      10 -10  140444  18232  11472 S   1.0  0.2  18:40.04 AliYunDun
     1371 root      10 -10   42320   4492   2988 S   0.3  0.1   0:46.65 AliYunDunUpdate
        1 root      20   0  191048   4084   2612 S   0.0  0.1   0:01.74 systemd
        2 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kthreadd
        4 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H
        5 root      20   0       0      0      0 S   0.0  0.0   0:00.35 kworker/u8:0
        6 root      20   0       0      0      0 S   0.0  0.0   0:00.02 ksoftirqd/0
        7 root      rt   0       0      0      0 S   0.0  0.0   0:00.00 migration/0
        8 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcu_bh
        9 root      20   0       0      0      0 S   0.0  0.0   0:10.57 rcu_sched

    load average の値 0.010.020.05 は、それぞれ過去 1 分、5 分、15 分間の平均システム負荷を表します。一般的に、ロードアベレージを論理 CPU の数で割った値が 5 を超える場合、システムが過負荷になっている可能性があります。このしきい値は、サーバーの CPU パワーとワークロードによって異なる場合があります。システムが過負荷の場合は、%CPU 値が高いプロセス ID (PID) を特定します。次に、COMMAND 列でプロセス名を見つけ、システムのニーズに基づいて対応してください。

  4. コンソールでインスタンスの監視情報を表示します。

    詳細については、「インスタンスの監視情報を表示」をご参照ください。

  5. 次のコマンドを実行して、インスタンスのポート 80 に TCP 接続が多すぎるかどうかを確認します。

    netstat -anp | grep ':80 ' | grep tcp

    以下はレスポンスのサンプルです。

    xxx@linux:~# netstat -anp |grep 80 |grep tcp
    tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      2551/nginx: master
    tcp        0      0 xxx.xxx.xxx.174:36646   xxx.xxx.xxx.70:80       TIME_WAIT   -
    tcp        0      0 xxx.xxx.xxx.174:51426   xxx.xxx.xxx.70:80       TIME_WAIT   -
    tcp        0      0 xxx.xxx.xxx.174:34034   xxx.xxx.xxx.70:80       TIME_WAIT   -
    tcp        0      0 xxx.xxx.xxx.174:42812   xxx.xxx.xxx.xxx:80      ESTABLISHED 1633/AliYunDun
    tcp6       0      0 :::80                   :::*                    LISTEN      2551/nginx: master
    xxx@linux:~# netstat -anp |grep 80 |grep tcp |wc -l
    6
  6. 次のコマンドを実行して、TIME_WAIT 状態の TCP 接続数をカウントします。

    netstat -anp | grep TIME_WAIT | wc -l
  7. TIME_WAIT 状態の TCP 接続数を /etc/sysctl.conf ファイルの net.ipv4.tcp_max_tw_buckets パラメーターの値と比較します。TIME_WAIT 状態の TCP 接続数がこの値を超える場合は、次の手順を実行してください。

    1. vi /etc/sysctl.conf コマンドを実行して /etc/sysctl.conf ファイルを開き、net.ipv4.tcp_max_tw_buckets パラメーターの値を確認します。

      vm.swappiness = 0
      kernel.sysrq = 1
      
      net.ipv4.neigh.default.gc_stale_time = 120
      
      # 詳細については、 https://www.alibabacloud.com/help/knowledge_detail/39428.html をご参照ください
      net.ipv4.conf.all.rp_filter = 0
      net.ipv4.conf.default.rp_filter = 0
      net.ipv4.conf.default.arp_announce = 2
      net.ipv4.conf.lo.arp_announce = 2
      net.ipv4.conf.all.arp_announce = 2
      
      # 詳細については、 https://www.alibabacloud.com/help/knowledge_detail/41334.html をご参照ください
      net.ipv4.tcp_max_tw_buckets = 5000
      net.ipv4.tcp_syncookies = 1
      net.ipv4.tcp_max_syn_backlog = 1024
      net.ipv4.tcp_synack_retries = 2
      net.ipv4.tcp_slow_start_after_idle = 0

      TCP 接続数が多く、制限を超える可能性が高いことを確認した場合は、要件に基づいて net.ipv4.tcp_max_tw_buckets パラメーターの値を増やしてください。

    2. sysctl -p コマンドを実行して、新しい設定を適用します。

Windows:ポート 80 と Web サービス

説明

以下の手順では、Windows Server 2012 R2 が実行されているインスタンスを例として使用します。実際の操作はオペレーティングシステムによって異なる場合があります。

TCP ポート 80 が利用できない

  1. Windows インスタンスに接続します。

    詳細については、「接続方法」をご参照ください。

  2. コマンド プロンプトを開きます。

    1. デスクトップの左下隅にある [スタート] アイコン开始图标をクリックし、[検索] アイコン搜索图标をクリックします。

    2. 検索ボックスに cmd と入力します。

    3. [コマンド プロンプト] をクリックします。

      コマンド プロンプトウィンドウが開きます。

      Microsoft Windows [Version 6.3.9600]
      (c) 2013 Microsoft Corporation. All rights reserved.
      
      C:\Users\Administrator>
  3. 次のコマンドを実行して、サービスが TCP ポート 80 をリッスンしているかどうかを確認します。

    netstat -ano | findstr :80

    コマンドが次のいずれかの出力を返す場合、Web サービスが実行され、TCP ポート 80 でリッスンしています。異なる出力またはエラーが表示された場合は、「Web サービスが利用できない」セクションの手順に従ってください。

    TCP    0.0.0.0:80           0.0.0.0:0              LISTENING       1172 # すべてのネットワークインターフェイスでリッスン中
    TCP    127.0.0.1:80         0.0.0.0:0              LISTENING       1172 # ローカルホストでリッスン中
    説明

    サービスがローカルホスト (127.0.0.1) のみでリッスンしている場合、外部クライアントは Web サービスにアクセスできません。netsh http delete iplisten ipaddress=127.0.0.1 コマンドを実行して、すべてのネットワークインターフェイスでリッスンするようにサービスを再設定してください。

  4. TCP ポート 80 でのトラフィックが許可されており、接続が安定していることを確認します。

    1. インスタンスのセキュリティグループがポート 80 でのトラフィックを許可しているかどうかを確認します。許可されていない場合は、セキュリティグループルールを追加します。詳細については、「セキュリティグループルールの追加」をご参照ください。

    2. インスタンスのオペレーティングシステムのファイアウォールが有効になっているかどうかを確認します。有効になっている場合は、無効にして代わりにセキュリティグループを使用することを推奨します。詳細については、「Windows インスタンスのファイアウォールポリシーの設定」をご参照ください。

    3. telnet および tracert コマンドを使用して、ポート 80 の接続をテストします。詳細については、「サーバーに ping できる場合のポート接続の問題のトラブルシューティング」をご参照ください。

  5. ECS インスタンスに十分な帯域幅があるかどうかを確認します。

    詳細については、「Windows インスタンスの高いまたは完全な帯域幅と CPU 使用率のトラブルシューティング」をご参照ください。

    帯域幅が不足している場合は、インスタンスの帯域幅をアップグレードしてください。詳細については、「帯域幅設定の変更」をご参照ください。

Web サービスが利用できない

  1. Windows インスタンスに接続します。

    詳細については、「接続方法」をご参照ください。

  2. Web サービスのログを確認します。

    • 方法1:ログフォルダーを参照する。

      Windows Server 2008 R2 以降の場合、ログパスは C:\inetpub\logs\LogFiles です。

    • 方法2:インターネット インフォメーション サービス (IIS) マネージャーを使用する。

      1. 开始图标 > [Windows 管理ツール] > [インターネット インフォメーション サービス (IIS) マネージャー]の順に選択します。

      2. Web サイトのホームページで、[IIS] セクションの [ログ] をダブルクリックします。次に、[操作] ペインで [参照] をクリックします。

      3. [ログ] ページで、必要に応じてログの保存パスを変更できます。パスをコピーし、[エクスプローラー]に貼り付けて Enter キーを押します。

        その後、[エクスプローラー]でログフォルダーを表示できます。

  3. タスク マネージャーを使用してインスタンスのステータスを確認し、異常なプロセスを探します。

    1. デスクトップを右クリックし、[タスク マネージャー] を選択します。

    2. [プロセス] タブをクリックします。

      タスク マネージャーでプロセスの CPU とメモリの使用状況を表示して、異常なプロセスを特定できます。

  4. コンソールでインスタンスの監視情報を表示します。

    詳細については、「インスタンスの監視情報を表示」をご参照ください。

  5. インスタンスのポート 80 に TCP 接続が多すぎるかどうかを確認します。

    1. コマンド プロンプトを開きます。

      1. デスクトップの左下隅にある [スタート] アイコン开始图标をクリックし、[検索] アイコン搜索图标をクリックします。

      2. 検索ボックスに cmd と入力します。

      3. [コマンド プロンプト] をクリックします。

        コマンド プロンプトウィンドウが開きます。

        Microsoft Windows [Version 6.3.9600]
        (c) 2013 Microsoft Corporation. All rights reserved.
        
        C:\Users\Administrator>
  6. 次のコマンドを順番に実行して、さまざまな状態の TCP 接続をカウントします。

    netstat -n |find /i "time_wait" /c
    netstat -n |find /i "close_wait" /c
    netstat -n |find /i "established" /c

    デフォルトでは、Windows は 49152 から 65535 までの 16,384 個の動的ポートを許可します。CLOSE_WAIT 状態の接続数がこの制限に近づくと、多くの接続が適切に解放されていないことになります。その場合は、次の手順で説明するようにレジストリを変更して TcpTimedWaitDelay の期間を短縮してください。

    C:\Users\Administrator>netstat -n |find /i "time_wait" /c
    10
    
    C:\Users\Administrator>netstat -n |find /i "close_wait" /c
    0
    
    C:\Users\Administrator>netstat -n |find /i "established" /c
    7
    
    C:\Users\Administrator>
  7. レジストリ エディターを開きます。

    1. デスクトップの左下隅にある [スタート] アイコン开始图标をクリックし、[検索] アイコン搜索图标をクリックします。

    2. 検索ボックスに regedit と入力します。

    3. [regedit] をクリックします。

      レジストリ エディターウィンドウが開きます。

  8. レジストリ エディターで、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters に移動します。TcpTimedWaitDelay キーの値を 10 進数の 30 に設定してください

    TcpTimedWaitDelay エントリが存在しない場合は、レジストリエントリを作成してからその値のデータを変更してください。たとえば、TcpTimedWaitDelay エントリが存在しない場合は、次の手順を実行します。

    1. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters パスで、空の領域を右クリックし、[新規] > [DWORD (32ビット) 値] を選択します。

    2. TcpTimedWaitDelay と入力して Enter キーを押します。

    3. TcpTimedWaitDelay キーを右クリックし、[修正] をクリックします。

    4. 表示されるダイアログボックスで、[10進数] を選択し、[値のデータ]30 に設定します

    5. [OK] をクリックします。