nginx +节点应用程序+ vuejs应用程序

我试图设置一个nginxconfiguration来尝试实现这一点:

  • 我有一个nodejs应用程序,它在3000端口的本地主机上运行的服务器中服务于公共部分。
  • 我有一个vuejs的水疗中心应用程序,服务应用程序的“pipe理”部分,在端口8000本地主机运行的服务器。

我想要实现的是,有一个nginx作为反向代理来代理所有请求到http://localhost:8080/http://localhost:8080/*到nodejs应用程序和所有请求http://localhost:8080/admin到我的vuejs应用程序。 为此,我编写了一个像这样的nginxconfiguration文件:

 server { listen 8080; server_name localhost; location /admin/ { proxy_pass http://127.0.0.1:8000/admin/; proxy_redirect off; proxy_store off; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $http_host; rewrite ^/admin/(.*)$ /$1 break; } location / { proxy_pass http://127.0.0.1:3000/; proxy_redirect off; proxy_store off; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $http_host; } } 

不幸的是,pipe理部分不工作,因为当我访问localhost:8080/admin/最初的HTML模板正在遍历与<script src="/app.js"></script> ,所以这试图加载localhost:8080/app.js不起作用,显然。 我曾尝试在pipe理网站中设置一个<base href="/admin">标记,但它不起作用。 它不断尝试加载localhost:8080/app.js ,而不是localhost:8080/admin/app.js (这个url工作正常)。

我该怎么做才能使这个configuration工作?

非常感谢你。