Я предполагаю, что у вас есть порт 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 )