我正在尝试运行一个 Web 应用程序,该应用程序在同一台服务器的不同端口上进行监听。我使用 NGINX 来代理请求。我将向您展示一个示例来说明。
server {
listen 80;
server_name example.org;
...
location /app {
proxy_pass http://localhost:8080/public/foo;
}
...
}
...
server {
server_name sub.example.org;
...
location / {
proxy_pass http://localhost:8080;
}
...
}
当我转到时,http://example.org/app
我可以看到重定向是正确的,因为我看到与在 处相同的 html http://sub.example.org/public/foo
,但是 处的应用程序http://sub.example.org/public/foo/index.html
包含一些硬链接脚本。
<script type="text/javascript" src="/static/library.js"></script>
控制台日志说http://example.org/static/library.js
找不到,但这是显而易见的!
我如何修改配置以便进行index.html
搜索http://sub.example.org/static/library.js
?
答案1
您需要将上游应用程序的根 URL 配置为sub.example.org
。然后应用程序会生成其加载的资源的正确 URL。