Regex nginx url重写内部位置

Regex nginx url重写内部位置,regex,url-rewriting,nginx,Regex,Url Rewriting,Nginx,我有两个应用程序运行在8080和5999端口。我想使用nginx代理两个应用程序,作为/rss&/demo 但我面临的问题是css和javascript没有加载 location /rss { rewrite ^/rss(.*) /$1 break; proxy_pass http://localhost:8080/; proxy_redirect off; } location /demo { rewrite ^/demo(.*)$ /$1 break; proxy_pa

我有两个应用程序运行在8080和5999端口。我想使用nginx代理两个应用程序,作为
/rss
&
/demo

但我面临的问题是css和javascript没有加载

location /rss {
  rewrite ^/rss(.*) /$1 break;
  proxy_pass http://localhost:8080/;
  proxy_redirect off;
}

location /demo {
  rewrite ^/demo(.*)$ /$1 break;
  proxy_pass http://localhost:5999/;
  proxy_redirect off;
}

有人能帮我纠正一下吗…

首先,我认为下面的内容比较简洁(避免在代理请求中使用双斜杠):

位置/rss/{
重写^/rss(/.*)1段;
代理通行证http://localhost:8080;
代理_重定向关闭;
}
地点/演示/{
重写^/demo(/.*)$$1中断;
代理通行证http://localhost:5999;
代理_重定向关闭;
}
其次,您需要确保您的CSS等在HTML中被正确引用

如果在代理之前,CSS文件在HTML中像这样被引用:

http://localhost:8080/styles/application.css
然后,您需要以某种方式在HTML中进行如下引用,以说明代理后的新位置(包括子目录):

http://notproxied.com/rss/styles/application.css

浏览器检查器中css和javascript的URL是什么?他们还回404吗?是的,是404。因为它正在寻找docroot下的静态内容。它们是否实际存在于根文件夹中,或者它们是否需要代理才能工作?必须从代理过程中获取这些内容,即检查代理服务器的日志,我假设URL是使用错误的前缀或其他内容传递的,例如,尝试删除
proxy\u pass
行中的尾部斜杠