NGINX Один Домен - Несколько веб-серверов на внутреннем IP

"введите вперед"; является неправильным. То, в чем Вы нуждаетесь, является основными/ведомыми отношениями DNS.

1
задан 11 August 2013 в 14:54
1 ответ

Я предполагаю, что у вас есть порт 80 , перенаправленный на маршрутизаторе на сервер server.internal.ip , поэтому этот сервер получает весь трафик, идущий в общий доступ IP на порту 80.

У вас может быть несколько виртуальных хостов на основе имен на server.internal.ip , работающих в качестве прокси-сервера для других серверов.

На server.internal. ip , вы можете добавить что-то вроде следующего в свой nginx.conf :

server {
    listen 192.168.1.1:80;
    server_name cname1.domain.com;

    root /var/www/localhost/htdocs;
    location ~ ^/(.*)$ {
            proxy_pass        http://server1.internal.ip:80/$1$is_args$args;
            proxy_set_header   Host cname1.domain.com;
            proxy_set_header  X-Real-IP  $remote_addr;
    }
}
server {
    listen 192.168.1.1:80;
    server_name cname2.domain.com;

    root /var/www/localhost/htdocs;
    location ~ ^/(.*)$ {
            proxy_pass        http://server2.internal.ip:80/$1$is_args$args;
            proxy_set_header   Host cname2.domain.com;
            proxy_set_header  X-Real-IP  $remote_addr;
    }
}

Заголовок X-Real-IP можно использовать для регистрации пришедшего IP-запроса (в противном случае можно не указывать). Эти виртуальные хосты будут иметь приоритет над вашим *. Domain.com ( документация Nginx )

1
ответ дан 4 December 2019 в 00:37

Теги

Похожие вопросы