web-dev-qa-db-ja.com

特定のドメインにのみリクエストを提供しますか?

特定のドメインに対して行われたサーバーリクエストのみを行い、他のすべてをドロップするか、404を与えるだけです。nginxを介して実行されることを望みますが、もちろん最良のソリューションが必要です。

5
mhenrixon

Nginxをセットアップするときは、「サーバーブロック」を一般的ではなく特定のものに設定します。これは、www.domain1.comに向かうトラフィックのみをピックアップします。

http {
  index index.html;

  server {
    server_name www.domain1.com;
    access_log logs/domain1.access.log main;

    root /var/www/domain1.com/htdocs;
  }
}

一方、これはポート80へのすべてのトラフィックをピックアップします。

http {
  index index.html;

  server {
    listen 80 default_server;
    server_name _; # This is just an invalid value which will never trigger on a real hostname.
    access_log logs/default.access.log main;

    server_name_in_redirect off;

    root  /var/www/default/htdocs;
  }    
}

詳細: http://wiki.nginx.org/ServerBlockExample

5
Robert