我在服务器上有多个 Web 应用程序,每个应用程序都在单独的端口上:
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/;
}
}
这将加载 Web 应用首页的 HTML。但是不会加载 CSS、图像和其他任何内容。我的错在哪里?
答案1
您必须使用这个块:
location /mywebapp1 {
rewrite /mywebapp1(.*)$ $1 break;
proxy_pass http://127.0.0.1:8080;
}
proxy_redirect 将向您的浏览器发送 HTTP 代码 301,永久重定向到 127.0.0.1:8080,这不是您的意图。