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

Обратный прокси-сервер Nginx обслуживает неправильный хост

Мой обратный прокси-сервер Nginx делает что-то очень странное. В частности, один домен не разрешается правильно, а вместо этого показывает сайт совершенно другого хоста. Только wiki.example.net неправильно, перенаправляет на www.client.co.uk вместо. В остальном все нормально.

В 3 отдельных файлах в / etc / nginx / sites-available

дефолт

server {
listen 80 default_server;
server_name _;

root /var/www/example/;
index index.html index.php;

include /etc/nginx/include/php;
}

wiki.example.net

upstream examplewiki  {
  server 10.2.7.18:80;
}


server {
listen 80;
server_name wiki.example.net;

location / {
    proxy_pass  http://examplewiki/;
    proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
    proxy_redirect off;
    proxy_buffering off;
    proxy_set_header        Host            $host;
    proxy_set_header        X-Real-IP       $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

www.client.co.uk

upstream client  {
  server 10.2.7.12:80;
}

server {
  server_name .client.co.uk;
  return 301 http://www.client.co.uk$request_uri;
}

server {
  server_name .client.com;
  return 301 http://www.client.co.uk$request_uri;
}

server {
listen 80;
server_name  www.client.co.uk;

location / {
 proxy_pass  http://client/;
 proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
 proxy_redirect off;
 proxy_buffering off;
 proxy_set_header        Host            $host;
 proxy_set_header        X-Real-IP       $remote_addr;
 proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
 }
}

Просто для wiki.example.net URL переписывается на www.client.co.uk и www.client.co.uk страница появляется. Все остальное работает как надо. У меня есть другие серверные VPS и другие аналогичные файлы конфигурации, которые тоже работают должным образом.