NGINX proxy_pass 带有 html 硬链接

NGINX proxy_pass 带有 html 硬链接

我正在尝试运行一个 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。

相关内容