Я пытаюсь запустить 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 /
Надеюсь, это тебе поможет.