nginx configserver_nameをカスタム404エラーページにリダイレクトします

bryanus

私はnginxconfigsを初めて使用し、これまでグーグルで多くの時間を費やしてきました。「リダイレクト」サーバーで使用する非常に基本的なnginx構成ファイルを作成しようとしています。

ユーザーは、Aレコードでネイキッドドメイン(example.com)をリダイレクトサーバーのIPアドレスにポイントし、CNAMEで「www」レコードを別のサーバーにポイントする必要があります。

リダイレクトサーバーの目的は、301リダイレクトを実行して、任意/ワイルドカードのネイキッドドメインをドメインの「www」バージョンに戻し、他のサーバーで適切に処理できるようにすることです。

しかし、A-recordによってサーバーIPを指している誤って構成された「www」ドメインをキャッチし、リダイレクトサーバーのカスタムエラーページに誘導して、アカウントを正しく設定する方法の詳細を説明したいと思います。サービス。

これが私が持っているものです。それは機能しますが、私は構成を書くのが初めてなので、最初のサーバーブロックのカスタムエラーページへのリダイレクトを処理するためのより良い方法があるかどうか疑問に思いました。TIA!

#redirect to error page if begins with 'www.'

server {
    listen 80;
    server_name ~^www.; #only matches if starts with 'www.'. Is this good enough?
    rewrite ^(.*)$ /404.html; #is this the correct way to direct to a custom error page?

    error_page 404 /404.html;

    location  = /404.html {
        root /usr/share/nginx/html;
       }
    }

#no match, so redirect to www.example.com

server {
    listen 80 default_server;
    rewrite ^(.*)$ $scheme://www.$host$1 permanent;
}
アレクセイテン

プレフィックス/サフィックスサーバー名の照合は、正規表現よりも高速で簡単です

また、書き換えを使用する理由はありません。404を返したいので、それを行うと、nginxが残りのすべてを行います。ところで、書き換えを使用する200 OKと、の/404.html代わりにのコンテンツで戻ります404 Not Found

だからここにあります:

server {
    listen 80;
    server_name www.*;

    root /usr/share/nginx/html;

    error_page 404 /404.html;

    location / {
        return 404;
    }

    location = /404.html {
        internal;
    }
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Nginx 301リダイレクトカスタムページは機能しませんが、「nginx」が含まれているページを返します

分類Dev

Nginx:カスタムドメインのhttpリクエストをhttpsにリダイレクトします

分類Dev

Nginx-カスタムエラーページ処理のために、404エラーすべてをPHP-FPMに戻します

分類Dev

404エラーページをカスタマイズする方法(ubuntu nginx)

分類Dev

url パラメーターを介してロケールに基づいて nginx にカスタム 404 エラー ページを設定する

分類Dev

nginx404デフォルトページの代わりにカスタム404ページを返そうとしています

分類Dev

nginxのホームページにリダイレクトする

分類Dev

nginxは301すべてのページを別のドメイン/ホームページにリダイレクトしますクエリ文字列を追加します

分類Dev

NGINX(Docker)を使用して/ apiリクエストをポート3000にリダイレクトします

分類Dev

nginx で 404 ページすべてを同じ URL にリダイレクトする方法は?

分類Dev

Nginxは、httpsの設定後にデフォルトのウェルカムページにリダイレクトします

分類Dev

Nginx301はページから別のページにリダイレクトします

分類Dev

NGINXはページのリロード時に404エラーを返します(Emberアプリ)

分類Dev

NGINX + HTTPSは、外部リクエストに対して504ゲートウェイタイムアウトエラーを引き起こします

分類Dev

PHPが機能しないNginxカスタム404ページ

分類Dev

Nginxはnginxのルートにリダイレクトします

分類Dev

nginxでのリダイレクト中に特定のクエリパラメータの名前を変更します

分類Dev

nginx $ argsを変更し、Wordpressで変更されたURLにリダイレクトした後の404エラーを修正する方法

分類Dev

nginxはuwsgiでカスタムエラーページを表示していません

分類Dev

nginx は 1 つの場所でカスタム エラー ページを使用しません

分類Dev

フラスコ+ nginx + gunicornリダイレクトエラー

分類Dev

nginxでprometheus呼び出しをリダイレクト中にエラーが発生しました

分類Dev

kubernetes nginx-ingressは、パスルールを無視して常に404デフォルトのbackenにリダイレクトします

分類Dev

nginxは301リダイレクト時にポート番号を保持します

分類Dev

nginx:すべてのリクエストを単一のhtmlページに送信します

分類Dev

React Router BrowserRouterは、ホームページのクリックを介さずに直接サブページに移動すると、「404 Not Found-nginx」エラーを引き起こします

分類Dev

NginXは「ランダム」でサーバーへのストリームをカットします

分類Dev

Nginxはリクエストヘッダーの一部を使用して別の場所にリダイレクトします

分類Dev

リクエストタイムアウト(HTTP 408):nginxイメージを使用したecs-fargateに基づくロードバランサー

Related 関連記事

  1. 1

    Nginx 301リダイレクトカスタムページは機能しませんが、「nginx」が含まれているページを返します

  2. 2

    Nginx:カスタムドメインのhttpリクエストをhttpsにリダイレクトします

  3. 3

    Nginx-カスタムエラーページ処理のために、404エラーすべてをPHP-FPMに戻します

  4. 4

    404エラーページをカスタマイズする方法(ubuntu nginx)

  5. 5

    url パラメーターを介してロケールに基づいて nginx にカスタム 404 エラー ページを設定する

  6. 6

    nginx404デフォルトページの代わりにカスタム404ページを返そうとしています

  7. 7

    nginxのホームページにリダイレクトする

  8. 8

    nginxは301すべてのページを別のドメイン/ホームページにリダイレクトしますクエリ文字列を追加します

  9. 9

    NGINX(Docker)を使用して/ apiリクエストをポート3000にリダイレクトします

  10. 10

    nginx で 404 ページすべてを同じ URL にリダイレクトする方法は?

  11. 11

    Nginxは、httpsの設定後にデフォルトのウェルカムページにリダイレクトします

  12. 12

    Nginx301はページから別のページにリダイレクトします

  13. 13

    NGINXはページのリロード時に404エラーを返します(Emberアプリ)

  14. 14

    NGINX + HTTPSは、外部リクエストに対して504ゲートウェイタイムアウトエラーを引き起こします

  15. 15

    PHPが機能しないNginxカスタム404ページ

  16. 16

    Nginxはnginxのルートにリダイレクトします

  17. 17

    nginxでのリダイレクト中に特定のクエリパラメータの名前を変更します

  18. 18

    nginx $ argsを変更し、Wordpressで変更されたURLにリダイレクトした後の404エラーを修正する方法

  19. 19

    nginxはuwsgiでカスタムエラーページを表示していません

  20. 20

    nginx は 1 つの場所でカスタム エラー ページを使用しません

  21. 21

    フラスコ+ nginx + gunicornリダイレクトエラー

  22. 22

    nginxでprometheus呼び出しをリダイレクト中にエラーが発生しました

  23. 23

    kubernetes nginx-ingressは、パスルールを無視して常に404デフォルトのbackenにリダイレクトします

  24. 24

    nginxは301リダイレクト時にポート番号を保持します

  25. 25

    nginx:すべてのリクエストを単一のhtmlページに送信します

  26. 26

    React Router BrowserRouterは、ホームページのクリックを介さずに直接サブページに移動すると、「404 Not Found-nginx」エラーを引き起こします

  27. 27

    NginXは「ランダム」でサーバーへのストリームをカットします

  28. 28

    Nginxはリクエストヘッダーの一部を使用して別の場所にリダイレクトします

  29. 29

    リクエストタイムアウト(HTTP 408):nginxイメージを使用したecs-fargateに基づくロードバランサー

ホットタグ

アーカイブ