VPSにWebサイトがあります。
私が抱えている問題は、サーバーのIPを入力すると、Webサイトにリンクすることです。
mail.domain.comを入力する場合でも、同じことを行います。
それを無効にするにはどうすればよいですか?訪問者はメッセージを受け取るか、ドメインにリダイレクトされますか?
IPを無効にして、クラウドフレアのレコードをメールで送信しようとしましたが、うまくいきませんでした。
私のセットアップは次のとおりです。
VPS on Linux Debian
Nginx
no control panel just command line
Cloudflare
DNS setup with BIND
リダイレクト、nginx configを使用できます:
server {
listen 80;
server_name IP_ADDRESS;
return 301 http://YOUR.DOMAIN;
}
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name "";
return 444;
}
default_server
パラメーターを指定して、使用できないサーバー要求がすべてserver block
に送られ、444 error
がスローされるようにする必要があります。
444:接続は応答なしで閉じられました
他のサーバーディレクティブの前にサーバーディレクティブを追加するだけです。
server {
listen 80;
server_name _;
return 404;
}
適切と思われるエラーを返すことができます。エラーのリストはここにあります List_of_HTTP_status_codes
server {
listen x.x.x.x:80;
server_name x.x.x.x;
return 404;
}
サーバーの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
リダイレクト、nginx configを使用できます:
server {
listen 80;`enter code here`
server_name IP_ADDRESS;
return 301 http://YOUR.DOMAIN;
}
if ($http_Host != "example.com") {
return 301 example.com;
}
これを/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エラーが発生します。