静的ページに戻ってステータスコードを設定する

静的ページに戻ってステータスコードを設定する

私のディスクに/var/www/mywebsite/hello.html

ゲストが来るたびにhttp://mywebsite.com/hello.html、ステータスコードを200ではなく123に設定したいと思います。

server {
    ...

    location /hello.html {
        return 123;
    }

この設定ファイルを使用しています。私が行くときhttp://mywebsite.com/hello.html、空白のページが表示されますが、ステータスコードは123です。

ページの内容と123ステータスコードを表示するには?

編集する:

「402支払いが必要」または「500内部サーバーエラー」でhello.htmlを返すことはできますか?

構文が必要です。

答え1

HTTPはこれを許可しません。 1xx ファミリー コードはレスポンスに含めることはできません。RFC2616(つまり、HTTPプロトコル):

10.1 情報 1xx

このタイプのステータスコードは一時的な応答を表し、以下を含みます。ただステータス行とオプションのヘッダーで構成され、空行で終わります。

したがって、nginxを使用してこれを行うことができますが(私の考えでは可能だと思います)、ブラウザに送信されたコンテンツが表示されないことがあります。
(データを含めてはいけない応答を介して送信されたデータを表示しないことは、実際に攻撃者がサーバーのバグを悪用するのをより困難にするための良い方法です。)エラー処理時にこれを注入することができます。したがって、データはWebサーバーではなくサーバーを損傷することなくブラウザユーザーに簡単なセキュリティを提供します。怖い構成エラーです。 )

関連情報