@vladoo_raw

Как заблокировать доступ к неправильному url на nginx?

Всем доброго времени суток. Я новичок в работе с nginx'ом и сейчас возникла ситуация, с которой не знаю как разобраться (гуглить пробовал, но ничего не нашел, может неправильно искал)
Ситуация следующая:
есть сайт (mydomain.ru), который находится хостинге, также есть сайты (mail.mydomain.ru и a2nta.mydomain.ru), которые хостятся локально
через cloudflare dns раньше было выстроено, что mydomain.ru отправляется на IP хостинга, а mail отправляется на наш IP)

сейчас возникла проблема, что nginx по url main.mydomain.ru открывается содержимое a2nta.mydomain.ru (днс запись из cloudflare пока не убирали, вероятно позднее потребуется вновь).
Вопрос: как запретить открываться сайту a2nta через mail?

конфиг a2nta.mydomain.ru выглядит так
server {
        listen 172.16.1.166:80;
        server_name a2nta.mydomain.ru www.a2nta.mydomain.ru;
        return 301 https://$host$request_uri;
}

server {
        listen 172.16.1.166:443 ssl;

        root /var/www/puper;

        # Add index.php to the list if you are using PHP
        index index.html index.htm index.nginx-debian.html;

        server_name a2nta.mydomain.ru www.a2nta.mydomain.ru;

        ssl_certificate /home/ubuntu/puper.crt;
        ssl_certificate_key /home/ubuntu/puper.key;

        location / {
                proxy_pass https://172.16.0.102/;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
        }
}


конфиг default от самого nginx:
server {
        listen 80 default_server;
        listen [::]:80 default_server;

        # SSL configuration
        #
        listen 443 ssl default_server;
        listen [::]:443 ssl default_server;
        ssl_certificate /home/ubuntu/puper.crt;
        ssl_certificate_key /home/ubuntu/puper.key;

        root /var/www/html;

        # Add index.php to the list if you are using PHP
        index index.html index.htm index.nginx-debian.html;

        server_name _;

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                try_files $uri $uri/ =404;
        }
}
  • Вопрос задан
  • 92 просмотра
Пригласить эксперта
Ответы на вопрос 1
ky0
@ky0 Куратор тега Nginx
Миллиардер, филантроп, патологический лгун
Завести отдельный серверный блок с server_name main.mydomain.ru - и настроить там редирект или отдачу нужной ошибки.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы