У меня есть несколько веб-приложений на сервере, каждое на отдельном порту:
http: // локальный: 8080
http: // локальный: 8081
Теперь я попытался использовать nginx в качестве прокси-сервера. Цель состоит в том, чтобы использовать webapps.local.domain / mywebapp1 и webapps.local.domain / mywebapp2 вместо указанных выше URL. Я пробовал это, но это не сработало:
server {
listen 80;
server_name webapps.local.domain;
access_log /var/log/nginx/webapps.local.domain-access.log;
location /mywebapp1 {
proxy_pass http://127.0.0.1:8080;
proxy_redirect http://127.0.0.1:8080 /mywebapp1/;
}
}
Это загружает HTML-код первой страницы веб-приложения. Но никаких CSS, изображений и всего остального. В чем моя вина?
Вы должны использовать этот блок:
location /mywebapp1 {
rewrite /mywebapp1(.*)$ $1 break;
proxy_pass http://127.0.0.1:8080;
}
proxy_redirect отправит вашему браузеру HTTP-код 301, постоянное перенаправление на 127.0.0.1:8080, что не является вашим намерением.