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

nginx и apache - несколько виртуальных хостов на одном IP - правильная конфигурация

Я пытаюсь запустить nginx в качестве обратного прокси для Apache на одном компьютере и обслуживать с него разные веб-сайты.

Мой вопрос: можно ли добавлять виртуальные хосты только в nginx и передавать ему URL-адрес / имя хоста / путь и т. Д. В Apache автоматически в зависимости от того, какой хост запрошен.

ИЛИ мне нужно настроить виртуальный хост для каждого сайта (домена) как в nginx, так и в Apache?

Кроме того, есть ли какие-либо потенциальные проблемы с этой настройкой?

В моей конфигурации nginx я планирую сделать что-то вроде этого для каждого домена (Apache работает на порту 8080):

    server {
            listen 80; 

            root /var/www/site1.com/;
            server_name site1.com; 

            location / {
                    try_files $uri $uri/ /index.php;
            }

            location ~ \.php$ {                
                    proxy_set_header X-Real-IP  $remote_addr;
                    proxy_set_header X-Forwarded-For $remote_addr;
                    proxy_set_header Host $host;
                    proxy_pass http://127.0.0.1:8080;
            }
    }

Спасибо!

Это возможно.

На веб-сервере Apache вам необходимо хранить все файлы на виртуальном хосте по умолчанию, чтобы к нему можно было получить доступ как http: // IP_АДРЕС: ПОРТ / имя хоста / путь /

На сервере Nginx создайте несколько виртуальных хостов и добавьте правило proy_pass, как показано ниже.

A.com -> / будет пересылать прокси на / a-com / B.com -> / будет прокси пересылать на / b-com / C.com -> / будет прокси пересылать на / c-com /

Надеюсь, это тебе поможет.