IPではなく完全なドメイン名を使用する場合にのみnginxサーバーへのアクセスを許可します

IPではなく完全なドメイン名を使用する場合にのみnginxサーバーへのアクセスを許可します

私はnginxサーバーを運営していますhttp://example.comこれはIP に解決されます1.2.3.4。現時点では、ユーザーはhttp://example.comまたは訪問してhttp://1.2.3.4

完全なドメイン名を使用する場合にのみアクセスを許可したいのですが、http://exmple.comIP 経由のアクセスをブロックし、完全なドメイン名を使用する場合にのみアクセスを許可するように nginx を構成するにはどうすればよいでしょうか?

答え1

Nginx では 2 つの仮想ホストを作成できます。1 つはデフォルトのアクセス用、もう 1 つはドメイン固有用です。

その後、デフォルトのアクセスを制限したり、選択に応じてドメインにリダイレクトしたりできます。

server {
    listen      80 default_server;
    listen      [::]:80 default_server;
    server_name "";
    return      444;  # or comment this and uncomment below to redirect to domain.
    #return 301 http://www.example.com$request_uri;
}
server {
    listen      80 default_server;
    listen      [::]:80 default_server;
    server_name "www.example.com";
    ...
    ...
}

Nginx 仮想ホスト -Ubuntu の仮想ホストの設定

関連情報