我有两个应用程序运行在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;
}
有人可以帮我纠正这个......
答案 0 :(得分:0)
首先,我认为下面的内容有点整洁(避免代理请求中出现双斜线):
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;
}
其次,您需要确保正确地在HTML中引用您的CSS等。
如果在代理之前在HTML中引用了CSS文件,那么:
http://localhost:8080/styles/application.css
然后你需要以某种方式在这样的HTML中进行引用,以便在代理后考虑新位置(包括子目录):
http://notproxied.com/rss/styles/application.css