Как иметь один IP-адрес с несколькими серверами

Поэтому вышеприведенный вопрос достаточно понятен, но я объясню его более подробно ниже.

У меня есть веб-сайт, давайте просто назовите его example.com. Прямо сейчас у меня есть URL http://www.example.com , у которого есть DNS-адрес 10.0.1.1 (: 80), который перенаправлен в порт 192.168.0.14 в моей сети.

Я также хочу иметь сайт http://edu.example.com, который будет размещен на моем другом сервере, но у меня есть только один маршрутизатор, поэтому только один IP-адрес.

Я попытался использовать VirtualHost в моем конфигурационном файле apache, но не могу указать каталог на другом устройстве

Может ли кто-нибудь помочь или указать мне на ресурс, который мог бы? Любая помощь будет оценена

Я бы определенно сделал это с помощью обратного прокси Nginx.

Вы можете иметь nginx на том же компьютере, что и ваш сервер apache, и вы можете настроить его для перенаправления запросов на вторичный сервер на основе URL-адреса.

В этом примере apache был (ранее) настроен для обслуживания example.com на порту 8080, а edu.example.com – на xxx100: 80

server { server_name example.com; # app1 reverse proxy follow proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:8080; } server { server_name edu.example.com; # app2 reverse proxy settings follow proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://xxx100:80; } 

Вероятно, вам нужно будет расширить пример с определениями для журналов доступа и ошибок.

Еще одним большим преимуществом, которое предлагает эта настройка, является разгрузка SSL / TLS: вы можете иметь серверы apache, которые обслуживают простые http и nginx для обслуживания https с поддержкой SSL / TLS, поэтому у вас есть свои сертификаты на одном сервере, что делает его намного проще и удобнее поддерживать.

Для этого вам необходимо настроить прокси-директиву для Apache. Посмотрите директиву ProxyPass на странице mod_proxy Apache для специфики.