今週、ウェブサイトへのトラフィックが大幅に増加することが予想されます。サイトが過負荷になった場合(つまり、訪問者に503エラーが発生した場合)、訪問者を別のWebアドレスにリダイレクトしたいと思います。これをどうやってやるの?
トラフィックが多いためにWebサイトが混雑している場合、リダイレクトの最善の方法はカスタムエラードキュメントを使用することです。そのため、ユーザーが503エラーコードを取得すると、サーバーはユーザーが定義したカスタムエラードキュメントページに訪問者をリダイレクトします。
サーバーごとにエラードキュメントページをカスタマイズする方法はいくつかあります。
1。 Apacheサーバーの場合、.htaccess
ファイルに次のコードを追加します。
ErrorDocument 503 http://example.com/maintenance.html
2。 IIS 7サーバーの場合、web.configに次のコードを追加します
<system.webServer>
<httpErrors errorMode="Custom" existingResponse="Replace">
<remove statusCode="503" />
<error statusCode="503" responseMode="Redirect"
path="http://example.com/maintenance.htm" />
</httpErrors>
</system.webServer>
3。 Tomcat 7サーバーの場合、WEB-INF/web.xml
ファイルに次のコードを追加します。
<error-page>
<error-code>503</error-code>
<location>/Error.jsp</location>
</error-page>
<error-page>
<exception-type>Java.lang.Exception</exception-type>
<location>/Error.jsp</location>
</error-page>
2番目に悪い結果を目指してaimingのようです。急増が予想される場合は、何かをする時間があります。
jpegoptim
、optipng
、more-css
など)を最適化して、帯域幅を減らし、すべてのユーザーの速度を上げます。準備を整えておくと、万が一故障しても、ユーザーが望むものを確実に手に入れることができるように、すべてのことを実行できます初回。失敗を計画することは悪い習慣ではありませんが、まず失敗を回避するためのオプションを見てください!
しかし、はい、最良の標準オプション(既に実装されているはずです)は、エラーページをカスタマイズして、何かが間違っていることを人々に知らせることです。私はほとんどの人がこれらに非常に否定的に反応することを指摘する必要があります。メッセージが「後で戻って来てください」である場合、返されるのは一部の一部のみです。
繰り返しになりますが、これはサイトのホスト方法を再検討する理想的な機会であり、障害が発生してから1時間以内に優れたハードウェアに交換する[実践]計画が他にない場合です。
いくつかのレベルでできることがあります:
ネットワークハードウェア:ロードバランサーをインストールし、その後ろにサーバーを追加します。これにより、既存のセットアップをかなり簡単に実行できますが、おそらく、時間枠内でセットアップするのにかなりの費用がかかります(ホスティングプロバイダーのサポートレベルによって異なります)
仮想ハードウェア:負荷分散が組み込まれたクラウドベースのシステムに移行します。これにより、オプション1の利点が得られますが、ホストに多大なセットアップコストがかかることはありません(使用した分のみお支払いください)あなたの側で設定します。
これらはおそらくこれに対処するための「最良の」オプションであり、非常に試行され信頼されていますが、金銭的なコストがかかります-特にポイント1については。
ただし、「私たちのサーバーは対処できない」という「最悪の場合」のシナリオを処理するように両方を構成できます。しかし、ここに少しの情報があります。
他の回答に記載されている方法に加えて、ほとんどのサーバーではさまざまな方法でエラーページを設定できます。通常、これらはサイト上のページですが、ページへのリダイレクトを発行することもできます。別のサーバーも同様です。
たとえば、IISでは、「302リダイレクトで応答する」というエラー応答を作成できます。これは、まったく別のサーバー上のURLにすることができます。これは、.netエラーページレベルまたはIISエラーレベル:
<customErrors mode="RemoteOnly">
<remove statusCode="503" />
<error redirect="htp://www.example.com/sitedown.html" statusCode="503" />
</customErrors>
Apacheを使用している場合:ルートフォルダーで「htaccess.txt」または「.htaccess」という名前のファイルを検索します。次の行を追加します。
ErrorDocument 503 http://www.example.com/customhtml.html
訪問者はcustomhtml.htmlにリダイレクトされます。 HTMLコードに「別のWebアドレス」のiframeを追加できます。
この問題を解決するために、複数のサーバーを使用することをお勧めします。この問題では、サーバーが接続された形式で接続されます。 1台のサーバーの負荷が高くなった場合、トラフィックは2台目のサーバーに転送されます。