У меня есть два сервера, один из которых называется test.example.com
, а другой разрешен этими доменами: www.example.com
и example.com
.Я пытаюсь настроить Nginx в качестве обратного прокси, который также реализует маскирование URL.По сути, мне нужен обратный прокси-сервер, чтобы он находился перед двумя серверами и всеми тремя доменами для разрешения прокси-сервера.
Когда пользователь пытается зайти на test.example.com, я хочу, чтобы веб-страница, размещенная на www.example.com
и example.com
, загружалась, в то время как URL остается test.example.com и наоборот, когда пользователь посещает www.example.com
или example.com
, чтобы веб-сайт отображался на test.example.com
, а URL-адрес должен оставаться прежним.
Шаги, которые я реализовал:
- Я установил контейнер Docker сизображение nginx для разработки.
- Я также изменил свой файл hosts, чтобы отобразить все три домена на localhost.
Что происходит, когда я захожу на второй виртуальный хост (сервер в nginx), сайт загружается, но отсутствует css.
server {
listen 80;
server_name www.example.com example.com;
location / {
proxy_pass https://ip-address-of-the-test.example.com-server/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Scheme $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
server {
listen 80;
server_name test.example.com;
location / {
proxy_pass https://ip-address-of-the-www.example.com-server/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Scheme $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
Как мне достичь желаемого результата?