Назад | Перейти на главную страницу

Как заставить nginx отвечать только на один домен?

Я новичок в nginx, я размещаю свое приложение rails на nginx + пассажира. Я хочу, чтобы мой сайт был доступен только для одного домена. Итак, я установил свою конфигурацию nginx следующим образом:

server {
    listen       80;
    server_name  mydomain.com www.mydomain.com;
    root /var/deploy/myapp/current/public;
    passenger_enabled on;

    location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
        expires 1y;
        add_header    Cache-Control  public;
    }
 }

Я указываю server_name директива, но, тем не менее, он отвечает на все, что указывает на этот IP-адрес, и я мог видеть, что в access.log он отвечает на другие доменные имена.

Что я делаю не так?

Либо создайте новый виртуальный хост в дополнение к текущему в nginx, который захватит все другие домены, кроме одного домена для рельсов. Или вам нужно получить выделенный IP-адрес для своего домена.