web-dev-qa-db-ja.com

IPアドレスによるWebサイトへの直接アクセスを無効にする方法

VPSにWebサイトがあります。

私が抱えている問題は、サーバーのIPを入力すると、Webサイトにリンクすることです。
mail.domain.comを入力する場合でも、同じことを行います。

それを無効にするにはどうすればよいですか?訪問者はメッセージを受け取るか、ドメインにリダイレクトされますか?

IPを無効にして、クラウドフレアのレコードをメールで送信しようとしましたが、うまくいきませんでした。

私のセットアップは次のとおりです。

VPS on Linux Debian 
Nginx
no control panel just command line
Cloudflare
DNS setup with BIND
30
Khaled A

リダイレクト、nginx configを使用できます:

server {
        listen 80;
        server_name IP_ADDRESS;
        return 301 http://YOUR.DOMAIN;
}
26
Chernov
server {
    listen      80 default_server;
    listen      [::]:80 default_server;
    server_name "";
    return      444;
}

default_serverパラメーターを指定して、使用できないサーバー要求がすべてserver blockに送られ、444 errorがスローされるようにする必要があります。

444:接続は応答なしで閉じられました

参照: https://httpstatuses.com/444

18
AMB

他のサーバーディレクティブの前にサーバーディレクティブを追加するだけです。

server {
    listen 80;
    server_name _;
    return 404;
}
18
okin2014

適切と思われるエラーを返すことができます。エラーのリストはここにあります List_of_HTTP_status_codes

server {
    listen      x.x.x.x:80;
    server_name x.x.x.x;
    return      404;
}  
1
Kareem

サーバーのIPアドレスを次の場所に設定してみてください。

/etc/nginx/conf.d/default.conf

したがって、次のようになります。

server {
    listen 80;
    server_name localhost IP.OF.VPS.HERE;

次に、次のようにサブドメインvhostを指定できます。

server {
        listen 80;
        server_name subdomain.domain.com;

そして、次のようなメインドメイン:

server {
        listen 80;
        server_name www.domain.com domain.com;

次に、Nginxを再起動します。

/etc/init.d/nginx restart

各vhostには、次のような独自の* .confファイルが必要です(組織を改善するため)。

/etc/nginx/conf.d/subdomain.domain.com.conf
/etc/nginx/conf.d/domain.com.conf
/etc/nginx/conf.d/default.conf
1
user2972081

リダイレクト、nginx configを使用できます:

server {
        listen 80;`enter code here`
        server_name IP_ADDRESS;
        return 301 http://YOUR.DOMAIN;
}
1
Kapil
if ($http_Host != "example.com") {
    return 301 example.com;
}
0
user3552325

これを/etc/nginx/conf.d/SERVER_IP_ADDRESS.confファイルの先頭に置き、その下にあるものすべてにコメントしてください。

#disabling accesing server by ip address
server {
        listen SERVER_IP_ADDRESS:80 default;
        server_name _;
        return 404;
}

次に、Nginxサーバーを再起動します(Ubuntuではservice nginx restartこのコマンドで実行されます)

サーバーのIPアドレスをブラウザーのurlフィールドに入力すると、404エラーが発生します。

0
Sid